:root{font-family:Trebuchet MS,Arial,sans-serif;color:#294b3e;background:#f7f8ef;font-synthesis:none;font-weight:400;--green:#2d624c;--muted:#738074;--line:#e0e5d8}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #c67c45;outline-offset:5px}button{border:0;background:none}svg{flex-shrink:0}button svg{vertical-align:middle}h1,h2,h3,p{margin:0}button,a{-webkit-user-select:none;user-select:none}.site-header{max-width:1180px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-align:left;padding:0}.brand img{width:48px;height:48px;border-radius:14px}.brand>span{font-family:Georgia,serif;font-size:27px;font-weight:700;line-height:.95;letter-spacing:-1px}.brand>span>span{display:block;font-family:Trebuchet MS,sans-serif;font-size:11px;letter-spacing:2px;font-weight:400;margin-top:8px}.site-header nav{display:flex;align-items:center;gap:17px}.nav-link{display:flex;align-items:center;gap:8px;font-size:13px;padding:12px 16px;border-radius:24px}.nav-link.active{background:#e7eddf}.nav-divider{height:22px;width:1px;background:var(--line);margin:0 2px}.icon-button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%}.icon-button:hover{background:#e7eddf}.avatar{font-family:Georgia,serif;font-size:24px;width:39px;height:39px;display:grid;place-items:center;background:#efd9b3;border:3px solid white;border-radius:50%;margin-left:7px}.hub{max-width:1180px;margin:auto;padding:0 40px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:460px;padding:40px 0 30px;gap:10px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;display:inline-flex;align-items:center;gap:9px;line-height:1.6}.tiny-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#71977b}.hero h1{font-family:Georgia,serif;font-size:64px;line-height:1.09;font-weight:400;letter-spacing:-2.8px;position:relative;margin:23px 0 24px;width:fit-content}.hero h1>span{font-style:italic;color:#638c60}.hero h1>svg{position:absolute;width:80%;height:16px;right:0;bottom:-13px;stroke:#e4b65a;stroke-width:4;fill:none}.hero p{font-size:14px;line-height:1.8;color:#778073}.primary-button{background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:28px;border-radius:50px;padding:16px 27px;font-size:14px;min-height:50px;box-shadow:0 5px #254b3d0b;transition:transform .2s,background .2s}.primary-button:hover{background:#244f3d;transform:translateY(-2px)}.hero .primary-button{margin-top:25px}.hero-note{display:flex;align-items:center;gap:7px;font-size:10px;color:#7f887b;margin-top:19px}.hero-illustration{position:relative;min-height:370px;display:grid;place-items:center}.art-orbit{position:absolute;width:350px;height:320px;background:#e6edda;border-radius:48% 52% 45% 55%;transform:rotate(-17deg)}.bottle-art{position:relative;width:100%;max-width:460px;filter:drop-shadow(0 9px 8px #314a3510)}.art-label{position:absolute;top:28px;left:90px;z-index:1;font-family:Georgia,serif;font-style:italic;color:#6e8a62;font-size:17px;transform:rotate(-9deg)}.hero-star{position:absolute;color:#658868}.star-one{right:14px;top:46px;font-size:48px;transform:rotate(13deg)}.star-two{left:36px;bottom:63px;font-size:29px;color:#e0b461}.floating-tag{position:absolute;bottom:11px;right:51px;padding:13px 18px;background:#fffdf6;box-shadow:0 5px 20px #39553409;transform:rotate(5deg);border-radius:12px;font-size:11px;display:flex;align-items:center;gap:9px}.floating-tag span{font-size:24px;color:#719174}.library{margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section-heading .eyebrow{color:#8c9685;font-size:9px}.section-heading h2{font-family:Georgia,serif;font-size:31px;font-weight:400;letter-spacing:-.8px;margin-top:7px;display:flex;align-items:center;gap:11px}.count-badge{font-family:Arial,sans-serif;font-size:11px;background:#e5ebdd;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;letter-spacing:0}.tabs{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:24px}.tabs button{padding:9px 15px;border-radius:18px;font-size:11px;display:flex;align-items:center;gap:6px}.tabs button.selected{background:#e3eadd}.library-grid{display:grid;grid-template-columns:1.14fr 1fr;gap:28px}.game-card{border:1px solid #e1e4d9;border-radius:21px;background:#fffefa;overflow:hidden;max-width:540px}.card-art{height:232px;position:relative;overflow:hidden}.card-tag{position:absolute;left:19px;top:18px;z-index:1;background:#ffffff9c;padding:7px 11px;border-radius:20px;font-size:9px}.favorite-button{position:absolute;right:16px;top:14px;z-index:2;width:35px;height:35px;border-radius:50%;background:#ffffffa0;display:grid;place-items:center}.favorite-button.is-favorite{color:#bb645c}.favorite-button.is-favorite svg{fill:#efb4a4}.card-art-link{width:100%;height:100%;padding:0}.bottle-art.small{width:280px;height:230px;transform:translateY(9px)}.art-bottom-label{position:absolute;right:17px;bottom:16px;letter-spacing:2px;font-size:8px;color:#776c82;pointer-events:none}.card-info{padding:21px 24px 16px}.card-title{display:flex;align-items:center;justify-content:space-between}.card-title h3{font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:-.6px}.age-tag{font-size:10px;color:#83917b;background:#f1f3e9;padding:4px 7px;border-radius:6px}.card-info>p{font-size:12px;color:var(--muted);margin-top:9px}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:23px;padding-top:14px;border-top:1px solid #edf0e7}.card-footer>span{display:flex;align-items:center;gap:6px;font-size:10px;color:#6e826e}.round-play{display:grid;place-items:center;width:36px;height:36px;background:#e8eedf;border-radius:50%;transition:background .2s}.round-play:hover{background:#d5e2c9}.journey-card{position:relative;background:#edf0e2;border:1px solid #e1e7d6;border-radius:21px;padding:32px 35px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden}.journey-icon{font-size:57px;line-height:1;color:#b6c290;margin-bottom:24px}.journey-card .eyebrow{font-size:8px;color:#859574;letter-spacing:1.5px}.journey-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.8px;margin:11px 0 14px}.journey-card>p{font-size:12px;line-height:1.8;color:#7b8773}.journey-progress{width:100%;margin-top:27px}.journey-progress>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#79866e;margin-bottom:10px}.journey-progress strong{font-weight:400}.progress-track{height:5px;border-radius:10px;background:#dce3cd;overflow:hidden}.progress-track>span{display:block;height:100%;background:#7c9e6d;border-radius:10px;min-width:0}.journey-bottom{font-size:10px;color:#839271;display:flex;align-items:center;gap:7px;margin-top:19px}.install-strip{display:flex;align-items:center;gap:20px;background:#f0eee1;border:1px solid #e7e4d7;border-radius:16px;padding:23px 26px;margin-top:35px}.install-flower{font-size:41px;color:#a4ac7a}.install-strip h3{font-family:Georgia,serif;font-size:19px;font-weight:400}.install-strip p{font-size:11px;color:#87907c;margin-top:8px}.outline-button{border:1px solid #cbd4bc;border-radius:25px;padding:12px 17px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;margin-left:auto;white-space:nowrap;min-height:44px}.outline-button:hover{background:#e5e8d9}.site-footer{max-width:1180px;margin:36px auto 0;padding:25px 40px 30px;display:flex;justify-content:space-between;color:#929a88;font-size:9px;letter-spacing:.2px}.footer-star{padding:0 10px;color:#8e9e77}.game-page{max-width:970px;margin:auto;padding:25px 35px}.game-top{display:flex;justify-content:space-between;align-items:center}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 5px;font-size:12px;min-height:44px}.text-button:hover{color:#64845a}.game-top .eyebrow{font-size:9px;color:#9aa28c}.game-heading{text-align:center;margin:22px 0 25px}.pill{display:inline-block;border-radius:20px;padding:6px 13px;font-size:10px;background:#e8eddf;color:#758967}.game-heading h1{font-family:Georgia,serif;font-weight:400;font-size:46px;letter-spacing:-1.8px;margin:12px 0 7px}.tiny-spark{display:inline-block;color:#d9b25f;font-size:27px;vertical-align:top;margin-left:10px}.game-heading p{font-size:12px;color:#8b9482}.play-area{position:relative;background:#edf1e5;border:1px solid #e0e7d5;border-radius:28px;padding:22px 32px 26px;overflow:hidden;background-image:radial-gradient(#7e956a13 .8px,transparent .8px);background-size:18px 18px}.board-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#829376;gap:12px}.level-badge{display:flex;gap:10px;align-items:center;letter-spacing:1.5px;font-size:9px;background:#ffffff90;padding:8px 11px;border-radius:9px}.level-badge strong{font-family:Georgia,serif;font-size:22px;font-weight:400;color:#466a4e}.move-count strong{color:#4f7154;font-weight:700}.unlimited{color:#8c9b80;font-size:10px;margin-left:5px}.color-count{font-size:10px;display:flex;align-items:center;gap:6px}.color-count i{width:7px;height:7px;background:#dda585;box-shadow:4px 0 #96b7bf;border-radius:50%;margin-right:3px}.bottle-board{position:relative;margin:10px auto 0;max-width:750px;width:100%}.bottle-board canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.bottle-targets{position:absolute;top:0;right:0;bottom:0;left:0;display:grid}.bottle-target{position:relative;border-radius:18px;display:flex;align-items:center;justify-content:center}.bottle-target:focus-visible{outline-offset:-8px}.bottle-number{position:absolute;bottom:12px;font-size:10px;color:#8c9b80;background:#ffffff60;border-radius:50%;width:23px;height:23px;display:grid;place-items:center}.bottle-target.selected .bottle-number,.bottle-target.hinted .bottle-number{background:#d8e4c8;color:#335f43}.bottle-target.hinted .bottle-number{box-shadow:0 0 0 3px #e9c866}.game-message{text-align:center;min-height:42px;font-size:13px;color:#6a805c;display:flex;align-items:center;justify-content:center;line-height:1.5}.game-actions{display:flex;justify-content:center;gap:12px;margin-top:12px}.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #d6dfc9;border-radius:14px;padding:13px 18px;background:#f8faef;font-size:12px;min-height:48px}.soft-button:hover:not(:disabled){background:#e4ecd8}.hint-button{background:#f5ebcf;border-color:#e8dcb7}.game-footnote{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#94a086;text-align:center;margin-top:20px;line-height:1.5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#233e3266;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.modal{position:relative;background:#fffdf5;border-radius:25px;padding:38px;max-width:460px;width:100%;text-align:center;box-shadow:0 20px 90px #1c32252b;max-height:90dvh;overflow:auto}.modal h2{font-family:Georgia,serif;font-weight:400;font-size:30px;letter-spacing:-.6px;line-height:1.15;margin:14px 0}.modal>p{font-size:13px;line-height:1.7;color:#849078;margin:16px 0 23px}.modal>.primary-button{width:100%;margin:12px 0}.modal>.text-button{display:flex;margin:5px auto}.close-button{position:absolute;right:13px;top:13px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eff1e6}.win-stars{font-size:45px;color:#dcb65b;letter-spacing:8px;margin:10px 0 18px}.settings-modal{text-align:left}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-bottom:1px solid #e9ecdf;gap:20px;cursor:pointer}.setting-row strong{font-size:13px}.setting-row small{font-size:11px;color:#8b9580;line-height:1.6;display:block;margin-top:7px}.setting-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:45px;height:26px;border-radius:20px;background:#d9dfd1;flex-shrink:0;position:relative;cursor:pointer;transition:background .2s}.setting-row input:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;top:3px;left:3px;background:#fff;transition:transform .2s}.setting-row input:checked{background:#64865a}.setting-row input:checked:before{transform:translate(19px)}.modal .settings-note{font-size:10px;color:#929c86;line-height:1.7}.install-icon{width:65px;height:65px}.install-instructions{text-align:left;font-size:13px;line-height:1.8;color:#7b8870}.install-instructions p{margin:18px 0}.install-instructions strong{color:#406347}.level-modal{max-width:570px;text-align:left}.level-modal>p{font-size:12px}.tier{margin-top:24px}.tier h3{font-family:Georgia,serif;font-size:20px;font-weight:400}.tier p{font-size:10px;color:#8b967c;margin:5px 0 12px}.level-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.level-grid button{position:relative;background:#eef1e5;border-radius:11px;min-height:48px;font-size:13px}.level-grid button.current{outline:2px solid #839c70;outline-offset:2px}.level-grid button.complete{background:#dce7cd}.level-grid svg{position:absolute;right:4px;top:4px}.debug-panel{background:#182a22;color:#d9e9dc;border-radius:12px;margin-top:30px;padding:18px;font:12px monospace}.debug-panel summary{cursor:pointer}.debug-controls{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.debug-controls button,.debug-controls select{background:#e7efdf;color:#294b3e;padding:8px;border-radius:5px;border:0}.debug-panel pre{max-height:260px;overflow:auto}.connection-banner{background:#e3eace;text-align:center;padding:12px;font-size:12px}.connection-banner button{text-decoration:underline}.notice{font-size:12px;text-align:center;padding:12px;color:#92603d}.empty-favorites{border:1px dashed #cdd9c0;border-radius:20px;padding:45px 30px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:18px}.empty-favorites h3{font-family:Georgia,serif;font-size:24px;font-weight:400}.empty-favorites p{font-size:12px;color:#839376}.loading,.error-state{text-align:center;padding:100px 25px}.error-state p{margin:20px}.fallback-bottle{height:140px;width:60px;border:4px solid white;border-radius:10px 10px 18px 18px;display:flex;flex-direction:column-reverse;overflow:hidden;background:#ffffff60}.fallback-bottle>span{display:flex;align-items:center;justify-content:center;width:100%;color:#47624c;font-size:10px}@media(min-width:1300px){.hero{min-height:490px}.hero h1{font-size:69px}.library{margin-top:25px}.card-art{height:240px}}@media(max-width:760px){.site-header{padding:20px 23px}.site-header nav{gap:5px}.brand img{width:41px;height:41px}.brand>span{font-size:23px}.brand>span>span{font-size:9px}.nav-link{padding:10px}.nav-link span,.nav-divider,.avatar{display:none}.hub{padding:0 24px}.hero{min-height:auto;padding-top:34px;grid-template-columns:1fr 1fr;gap:0}.hero h1{font-size:45px;letter-spacing:-2px}.hero p{font-size:12px}.hero-illustration{min-height:280px}.art-orbit{width:220px;height:230px}.art-label{top:28px;left:17px;font-size:13px}.star-one{right:0;top:40px;font-size:26px}.star-two{left:5px;bottom:58px}.floating-tag{font-size:8px;right:0;bottom:5px;padding:9px}.hero-note{font-size:8px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero .primary-button{padding:13px 20px;font-size:12px}.section-heading h2{font-size:28px}.library-grid{gap:18px}.journey-card{padding:23px}.journey-card h3{font-size:26px}.journey-card .eyebrow{font-size:7px;letter-spacing:1px}.card-info{padding:19px 18px 15px}.card-art{height:210px}.bottle-art.small{width:245px;height:215px}.card-info>p{font-size:11px;line-height:1.5}.card-footer>span{font-size:8px}.install-strip{padding:19px;gap:14px;flex-wrap:wrap}.install-strip h3{font-size:17px}.install-strip p{font-size:10px}.install-strip .outline-button{margin-left:54px}.site-footer{padding:22px 24px}.site-footer>span:last-child{display:none}.game-page{padding:17px 16px}.game-top .eyebrow{display:none}.play-area{padding:18px 12px 24px}.game-heading{margin:15px 0 24px}.board-toolbar{padding:0 7px}.game-heading h1{font-size:40px}.unlimited{display:none}}@media(max-width:500px){.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:32px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:51px;margin-top:18px;margin-bottom:25px}.hero p{font-size:12px}.hero-illustration{margin-top:-6px;align-self:flex-end;min-height:225px;width:90%;margin-bottom:15px}.hero-illustration .bottle-art{height:240px;width:325px}.art-orbit{width:260px;height:220px}.art-label{left:45px;top:1px}.hero-star.star-one{top:9px;right:0}.floating-tag{bottom:0;right:7px}.star-two{bottom:45px}.hero-note{font-size:9px}.hero .primary-button{min-height:48px}.section-heading{align-items:start;gap:12px;flex-wrap:wrap}.section-heading .eyebrow{font-size:8px}.tabs{margin-top:2px}.tabs button{padding:8px 10px;font-size:10px}.library{margin-top:0}.library-grid{grid-template-columns:1fr}.card-art{height:220px}.bottle-art.small{height:230px;width:290px}.card-info{padding:21px 22px 17px}.card-info>p{font-size:12px}.card-footer>span{font-size:10px}.journey-card{padding:24px}.journey-icon{position:absolute;right:23px;top:27px;font-size:45px}.journey-card>p br{display:none}.journey-card>p{max-width:90%}.journey-progress,.install-strip{margin-top:22px}.install-flower{display:none}.install-strip .outline-button{margin:2px 0 0;width:100%}.site-footer{font-size:8px;margin-top:15px}.hero h1>svg{bottom:-10px}.color-count{display:none}.game-heading h1{font-size:39px}.soft-button{padding:12px;font-size:11px;gap:7px;border-radius:12px}.soft-button svg{width:18px}.game-actions{gap:7px}.game-message{font-size:12px;padding:0 10px}.bottle-number{bottom:10px}.modal{padding:35px 24px 25px}.modal h2{font-size:27px}.level-grid{gap:8px}.level-modal{padding:42px 21px 25px}.level-grid button{min-height:44px}.game-footnote{font-size:9px}.game-page{padding:13px 12px}.play-area{border-radius:22px;padding-left:5px;padding-right:5px}.site-header{padding-top:max(18px,env(safe-area-inset-top))}.site-footer{padding-bottom:max(25px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.playing{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.playing .site-header{width:100%;padding-top:12px;padding-bottom:12px;flex-shrink:0}.playing .site-header .brand img{width:36px;height:36px}.playing .site-header .brand>span{font-size:22px}.playing .site-header .brand>span>span{font-size:8px;margin-top:5px}.playing .site-footer{display:none}.playing .game-page{width:100%;min-height:0;flex:1;display:flex;flex-direction:column;padding:8px 24px 12px}.playing .game-top{flex-shrink:0;height:36px}.playing .game-top .text-button{min-height:34px;padding:5px}.playing .game-heading{flex-shrink:0;margin:5px 0 12px;display:flex;align-items:center;justify-content:center;gap:15px}.playing .game-heading h1{font-size:31px;margin:0;letter-spacing:-1px}.playing .game-heading p{display:none}.playing .game-heading .pill{font-size:9px;order:1}.playing .tiny-spark{font-size:21px}.playing .play-area{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px 22px 16px}.playing .board-toolbar{flex-shrink:0;height:35px}.playing .bottle-board{flex:1;min-height:0;height:auto;margin:0 auto}.playing .bottle-targets{bottom:0}.playing .bottle-number{bottom:2px;font-size:9px;width:18px;height:18px}.playing .game-message{flex-shrink:0;min-height:30px;font-size:12px}.playing .game-actions{flex-shrink:0;margin-top:7px}.playing .game-footnote{flex-shrink:0;margin-top:9px;font-size:9px}.playing .debug-panel{position:fixed;bottom:10px;left:10px;right:10px;z-index:15;max-height:38vh;overflow:auto;margin:0;box-shadow:0 5px 20px #182a2255}@media(max-width:600px){.playing .site-header{padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top))}.playing .site-header .brand img{width:30px;height:30px}.playing .site-header .brand>span{font-size:18px}.playing .site-header .brand>span>span{font-size:7px;letter-spacing:1.4px}.playing .site-header .icon-button{height:36px;width:36px}.playing .game-page{padding:5px 10px max(8px,env(safe-area-inset-bottom))}.playing .game-top{height:32px}.playing .game-heading{margin:3px 0 8px;gap:9px}.playing .game-heading h1{font-size:27px}.playing .game-heading .pill{padding:4px 8px;font-size:8px}.playing .play-area{padding:9px 8px 12px;border-radius:20px}.playing .level-badge{padding:5px 8px}.playing .level-badge strong{font-size:19px}.playing .game-message{font-size:11px;min-height:30px;padding:0 3px}.playing .soft-button{min-height:44px;padding:9px 12px;font-size:11px}.playing .game-footnote{display:none}}@media(max-height:550px){.playing .site-header{padding-top:4px;padding-bottom:4px}.playing .site-header .brand img{width:28px;height:28px}.playing .game-heading{position:absolute;top:60px;left:50%;transform:translate(-50%);margin:0;pointer-events:none}.playing .game-heading h1{font-size:21px}.playing .game-heading .pill,.playing .tiny-spark,.playing .game-top .eyebrow,.playing .game-footnote{display:none}.playing .play-area{padding-top:6px;padding-bottom:6px}.playing .game-message{min-height:21px;font-size:10px}.playing .game-actions{margin-top:3px}.playing .soft-button{min-height:38px;padding:7px 12px}}.playing .debug-panel:not([open]){top:60px;bottom:auto;left:auto;right:12px;width:auto;max-width:190px;padding:7px 10px;font-size:9px}
