:root{--ink:#342a2c;--wine:#883650;--rose:#c78397;--paper:#fbf6ef;--line:#e6d6cf;--muted:#857279;--gold:#bea16a;--shadow:0 25px 90px #6033311c;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 82% 15%,#f5e5df70,transparent 55%),var(--paper)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #389b9a;outline-offset:4px}a{color:inherit;text-decoration:none}.hidden{display:none!important}.masthead{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw}.wordmark{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:2.7px;font-weight:600}.wordmark small{display:block;font-size:7px;font-weight:400;letter-spacing:2.3px;margin-top:6px;color:var(--muted)}.monogram{font:italic 38px Georgia;color:var(--wine);position:relative;letter-spacing:-4px}.monogram span{font:13px Georgia;position:absolute;right:-9px;top:-2px}.masthead nav{display:flex;gap:9px}.icon-button{background:transparent;border:1px solid var(--line);width:39px;height:39px;border-radius:50%;font:22px Georgia;color:var(--wine);position:relative}.sound-state{font:7px 'Segoe UI';position:absolute;bottom:3px;right:6px;letter-spacing:.1px}.icon-button:hover,.secondary:hover{background:#f1e4df}#app{max-width:1500px;margin:auto;min-height:650px;position:relative;display:grid;grid-template-columns:36% 64%;padding:0 4.2vw}.home-copy{padding:69px 0 40px 1.8vw;position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--wine);font-weight:600;margin:0 0 24px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(48px,5.2vw,78px);line-height:1.08;letter-spacing:-2.5px;margin:0;color:var(--ink)}h1 em{color:var(--wine);font-weight:400}.intro{font:17px/1.8 Georgia;color:#7c666c;margin:25px 0 27px}.chapter-line{display:flex;gap:14px;align-items:center;margin:0 0 27px}.diamond{font-size:31px;color:var(--gold)}.chapter-line b{display:block;font-size:12px;font-weight:500;letter-spacing:.3px}.chapter-line small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.primary{background:var(--wine);color:#fff8f0;border-radius:6px;padding:19px 25px;min-width:238px;font-weight:500;font-size:13px;letter-spacing:.3px;box-shadow:0 8px 24px #79314919;transition:background .2s,transform .2s}.primary span{margin-left:28px;font-size:18px}.primary:hover{background:#72253f;transform:translateY(-2px)}.primary:active{transform:translateY(0)}.text-button{padding:0;background:transparent;font-size:11px;color:var(--wine);letter-spacing:.1px}.home-copy>.text-button{display:block;margin:21px 0}.text-button:hover{text-decoration:underline}.save-note{font-size:9px;color:#a18c90;margin:34px 0 0}.scene-shell{position:relative;min-width:0;height:630px;align-self:center;border-radius:0 0 42% 42%;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 55% 50%,#ead0c459,transparent 63%)}#scene{position:absolute;inset:0}#scene canvas{width:100%;height:100%;display:block;outline:none}.scene-top{position:absolute;top:30px;left:32px;right:20px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2.4px;color:#967984;pointer-events:none}.scene-flower{font-size:26px;color:#b5996c}.scene-bottom{position:absolute;bottom:20px;left:35px;right:35px;display:flex;align-items:center;gap:15px;font-size:8px;color:#866c73;letter-spacing:.4px}.scene-stage{font-family:Georgia;font-size:22px;white-space:nowrap;color:var(--wine)}.scene-stage i{font-size:12px;font-style:normal;color:#b69b9e}.stage-progress{height:2px;max-width:85px;flex:1;background:#dec7c0}.stage-progress span{height:100%;display:block;background:var(--wine);width:4%;transition:width .7s}footer{max-width:1500px;padding:22px 5.5vw 26px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1.7px;color:#a68b90}footer button{font-size:9px!important;letter-spacing:0!important}.mode-play{grid-template-columns:27% 73%!important;min-height:650px!important;grid-template-rows:auto 65px}.mode-play .scene-shell{height:min(69vw,640px);min-height:540px;border-radius:0;background:radial-gradient(ellipse at center,#e8c9bd66,transparent 68%)}.mode-play .scene-top{top:20px;left:35px;right:35px}.mode-play .scene-bottom{display:none}.game-panel{padding:26px 0 10px 1.8vw;z-index:2}.game-panel>.text-button{font-size:10px;margin-bottom:28px}.game-panel .eyebrow{margin-bottom:10px;letter-spacing:1.6px}.game-panel h1{font-size:clamp(28px,2.7vw,40px);letter-spacing:-1px;max-width:270px;line-height:1.14}.moves{display:flex;gap:14px;align-items:center;margin:25px 0;border-block:1px solid var(--line);padding:16px 0;max-width:235px}.moves strong{font:58px/.95 Georgia;color:var(--wine);min-width:65px}.moves span{font-size:8px;line-height:1.8;letter-spacing:.5px;color:#987c83}.moves.low strong{color:#cb5946;animation:pulse 1s infinite}.goals-heading{font-size:9px;letter-spacing:1.9px;color:#977b83;display:flex;justify-content:space-between;max-width:235px;margin-bottom:11px}.goals-heading span{color:var(--gold)}.goals{display:flex;flex-direction:column;gap:8px;max-width:245px}.goal{display:grid;grid-template-columns:39px 1fr auto;align-items:center;gap:9px;min-height:39px}.goal-visual{width:35px;height:35px;border-radius:10px;background:var(--tint);display:grid;place-items:center;border:1px solid #ffffff60;box-shadow:inset 0 0 8px #ffffff40}.goal-visual svg{width:24px;height:24px}.goal-name{font-size:11px;color:#70545f}.goal-track{height:3px;background:#e8d8d1;margin-top:6px;border-radius:3px;overflow:hidden}.goal-track i{display:block;height:100%;background:var(--wine);transition:width .4s}.goal-value{font:17px Georgia;color:var(--wine);min-width:34px;text-align:right}.goal-value small{font:10px 'Segoe UI';color:#a1858d}.goal.done .goal-value{font-size:19px;color:#58937a}.helena-note{margin-top:27px;display:flex;gap:10px;max-width:245px;align-items:center}.avatar{position:relative;width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:hidden;background:#ead4d0;border:1px solid #d9b5bb}.avatar img{position:absolute;width:75px;height:auto;left:-16px;top:-5px;z-index:1}.avatar span{position:absolute;inset:0;display:grid;place-items:center;font:italic 23px Georgia;color:var(--wine)}.helena-note p{font:italic 11px/1.6 Georgia;color:#8f727d;margin:0}.score-line{margin-top:25px;max-width:235px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.6px;color:#9f848b}.score-line b{font:17px Georgia;letter-spacing:0;color:#755e65}.play-toolbar{grid-column:2;display:flex;align-items:center;gap:9px;justify-content:center;padding:0 15px 10px}.toolbar-tip{display:flex;gap:10px;font-size:9px;color:#a0848a;margin-right:auto;align-items:center;max-width:250px;line-height:1.6}.little-star{color:var(--gold);font-size:20px}.secondary{background:#fffaf4;border:1px solid var(--line);padding:11px 14px;border-radius:25px;font-size:13px;color:var(--wine)}.secondary span{font-size:10px;margin-left:5px}#board-access{position:absolute;inset:12% 9%;z-index:3;touch-action:none;display:none;cursor:pointer;border-radius:16px}.mode-play #board-access{display:block}#board-access:focus-visible{outline-offset:0}#board-toast{position:absolute;bottom:18px;left:50%;transform:translate(-50%,10px);background:#fff8efef;border:1px solid #e1cac0;color:#805466;font:11px/1.5 'Segoe UI';padding:10px 18px;border-radius:30px;box-shadow:0 5px 20px #7c475523;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap;z-index:10;pointer-events:none}#board-toast.visible{opacity:1;transform:translate(-50%,0)}#fx-label{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) scale(.7);color:var(--wine);font:italic 38px Georgia;text-shadow:0 2px 1px #fff1de;pointer-events:none;opacity:0;z-index:6;white-space:nowrap}#fx-label.show{animation:compliment 1s forwards}#render-failure{position:absolute;inset:20%;padding:30px;background:var(--paper);font:17px/1.6 Georgia;border:1px solid var(--line);z-index:50}#render-failure button{display:block;margin-top:20px;padding:10px;background:var(--wine);color:white}dialog{border:1px solid #e6d3c8;border-radius:18px;background:#fffaf3;color:var(--ink);padding:36px;max-width:690px;width:calc(100% - 32px);box-shadow:0 20px 100px #3b162544;max-height:90dvh;overflow:auto}dialog::backdrop{background:#47252c66;backdrop-filter:blur(7px)}.close-modal{position:absolute;right:15px;top:10px;font:30px Georgia;background:transparent;color:#967582;width:36px;height:36px}.modal-eyebrow{font-size:9px;letter-spacing:2px;color:var(--wine);text-transform:uppercase;margin:0 0 14px}.modal-title{font:40px/1.12 Georgia;margin:0 0 18px;letter-spacing:-1px}.modal-text{font:14px/1.7 'Segoe UI';color:#896f78;margin-bottom:25px}.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:25px;flex-wrap:wrap}.modal-actions .primary{min-width:190px}.modal-actions .secondary{border-radius:6px}.result{text-align:center;padding:15px 10px}.result .modal-title{font-size:48px}.result-stars{font:48px Georgia;letter-spacing:12px;color:#d2ac61;margin:10px 0 20px;text-shadow:0 2px 0 #eee0c2}.result-stars .empty{color:#dfd0c6}.result-points{font:40px Georgia;color:var(--wine);display:block;margin-top:20px}.result-points small{display:block;font:9px 'Segoe UI';letter-spacing:2px;color:#a07e88;margin-top:8px}.new-decor{background:#efe0d6;border-radius:10px;padding:15px;font:italic 16px Georgia;margin-top:25px;color:#835264}.chapter-tabs{display:flex;gap:4px;margin:22px 0}.chapter-tabs button{flex:1;background:#eadbd4;color:#967280;border-radius:5px;padding:10px 0;font-size:10px}.chapter-tabs button.active{background:var(--wine);color:#fff4ed}.level-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.level-grid button{height:72px;border:1px solid #e5cfc8;border-radius:12px;background:#fff7eb;font:24px Georgia;color:var(--wine);display:flex;flex-direction:column;align-items:center;justify-content:center}.level-grid button small{font:9px 'Segoe UI';letter-spacing:1px;color:#bc9a5c;margin-top:5px}.level-grid button.current{background:var(--wine);color:white;box-shadow:0 7px 15px #7b3b5430}.level-grid button:disabled{opacity:.4;background:#e8d9d1}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.guide-card{padding:18px;background:#f2e5dd;border-radius:9px;display:flex;gap:12px;align-items:center}.guide-card .power-drawing{font:30px Georgia;color:var(--wine);min-width:30px}.guide-card b{font:16px Georgia}.guide-card p{font:10px/1.55 'Segoe UI';color:#8b6d78;margin:5px 0 0}.controls{font:12px/1.8 'Segoe UI';color:#826573}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.collection-item{margin:0;background:#f0e4de;border-radius:10px;overflow:hidden}.collection-item img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.collection-item figcaption{padding:10px;font:12px Georgia;text-align:center}.collection-grid+.modal-text{font-size:11px;margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{50%{opacity:.55}}@keyframes compliment{10%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}30%,65%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-75%) scale(.95)}}
#scene canvas,.avatar img,.collection-item img{image-rendering:pixelated;image-rendering:crisp-edges}
#board-access:focus-visible{outline:none} /* Keyboard focus is drawn on the current 3D cell. */
@media(min-width:1600px){#app{padding:0 50px}.home-copy{padding-left:20px}.scene-shell{height:710px}.home-copy{padding-top:100px}}
@media(max-width:960px){.masthead{padding:0 30px;height:76px}#app{padding:0 22px;grid-template-columns:40% 60%;min-height:590px}.home-copy{padding-top:70px}.home-copy h1{font-size:50px}.home-copy .intro{font-size:15px}.scene-shell{height:560px}.scene-bottom{left:8px;right:8px}.scene-bottom #stage-copy{max-width:160px;font-size:7px}.mode-play{grid-template-columns:29% 71%!important;min-height:580px!important}.mode-play .scene-shell{height:560px;min-height:0}.game-panel{padding-left:0}.game-panel h1{font-size:29px}.game-panel .moves{margin:18px 0}.game-panel .moves strong{font-size:50px}.game-panel>.text-button{margin-bottom:22px}.play-toolbar{padding:0 0 14px}.toolbar-tip{font-size:8px;max-width:170px}.secondary{padding:9px 11px}.helena-note{margin-top:18px}.score-line{margin-top:20px}footer{padding:20px 30px}}
@media(max-width:650px){.masthead{height:67px;padding:0 21px}.wordmark{font-size:8px;letter-spacing:1.8px;gap:12px}.wordmark small{font-size:6px;letter-spacing:1.8px;margin-top:4px}.monogram{font-size:31px}.icon-button{width:33px;height:33px;font-size:19px}.masthead nav{gap:7px}#app{padding:0;display:flex;flex-direction:column;min-height:0}.home-copy{padding:27px 25px 0;width:100%;pointer-events:none}.home-copy button{pointer-events:auto}.eyebrow{font-size:8px;margin-bottom:15px;letter-spacing:1.7px}.home-copy h1{font-size:47px;letter-spacing:-1.8px}.home-copy .intro{font-size:14px;line-height:1.5;margin:16px 0}.chapter-line{margin:0 0 18px}.chapter-line b{font-size:11px}.chapter-line small{font-size:9px}.diamond{font-size:25px}.home-copy .primary{min-width:210px;padding:15px 20px;font-size:12px}.home-copy>.text-button{margin:15px 0;font-size:10px}.save-note{font-size:8px;margin:18px 0}.scene-shell{height:370px;width:100%;margin-top:-70px;z-index:-1;border-radius:0;background:radial-gradient(ellipse at 60% 50%,#f2dbcfaa,transparent 65%)}.mode-home .scene-shell{margin-top:0;z-index:0;align-self:auto}.scene-top{top:28px;left:25px;right:25px;font-size:7px}.mode-home .scene-top{display:none}.scene-bottom{bottom:15px;left:25px;right:25px;font-size:7px}.scene-bottom #stage-copy{max-width:190px}.stage-progress{max-width:60px}footer{padding:18px 22px;gap:14px;font-size:6px;line-height:1.7;letter-spacing:1.1px}footer button{font-size:8px!important;white-space:nowrap}.mode-play{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto;min-height:0!important}.game-panel{padding:15px 19px 0;display:grid;grid-template-columns:1fr 80px;gap:0 10px}.game-panel>.text-button{grid-column:1;font-size:9px;margin:0 0 9px;text-align:left;width:max-content}.game-panel .eyebrow{grid-column:1;margin:0 0 5px;font-size:7px;letter-spacing:1.4px}.game-panel h1{grid-column:1;font-size:25px;max-width:none;margin-bottom:12px;letter-spacing:-.6px}.moves{grid-column:2;grid-row:1/4;margin:0 0 10px!important;padding:8px 0!important;border:0;display:flex;flex-direction:column;gap:3px;background:#f0e1d9;border-radius:12px;max-height:74px}.moves strong{font-size:38px!important;min-width:0}.moves span{font-size:7px;line-height:1.3;text-align:center}.moves span br{display:none}.moves span{font-size:0}.moves span::before{content:'JOGADAS';font-size:7px;letter-spacing:1px}.goals-heading{display:none}.goals{grid-column:1/3;flex-direction:row;gap:12px;max-width:none;border-block:1px solid var(--line);padding:9px 0}.goal{grid-template-columns:31px 1fr auto;gap:6px;flex:1;min-height:31px}.goal-visual{width:29px;height:29px;border-radius:8px}.goal-visual svg{width:22px;height:22px}.goal-name{font-size:8px}.goal-track{margin-top:4px;height:2px}.goal-value{font-size:16px;min-width:27px}.goal-value small{font-size:8px}.helena-note,.score-line{display:none}.mode-play .scene-shell{grid-column:1;margin:0;height:calc(100vw * 1.075);min-height:0;max-height:490px;z-index:1;background:radial-gradient(ellipse at center,#e5c2b450,transparent 68%)}.mode-play .scene-top{top:7px;left:22px;right:22px;font-size:6px;letter-spacing:1px}.mode-play .scene-flower{font-size:16px}#board-access{inset:8% 5%}#board-toast{bottom:2px;font-size:9px;max-width:94%;white-space:normal;width:max-content;text-align:center;padding:7px 12px}#fx-label{font-size:30px}.play-toolbar{grid-column:1;flex-wrap:wrap;gap:9px;padding:0 19px 15px;justify-content:flex-end}.toolbar-tip{font-size:8px;max-width:175px;gap:5px}.secondary{padding:9px 12px}.secondary span{font-size:9px}.little-star{font-size:17px}.mode-play+footer{font-size:5.5px;padding-top:14px;padding-bottom:14px}dialog{padding:32px 23px 25px;max-height:93dvh;border-radius:15px}.modal-title{font-size:32px}.modal-text{font-size:12px}.guide-grid{gap:8px}.guide-card{display:block;padding:12px}.guide-card .power-drawing{font-size:23px;display:block;margin-bottom:8px}.guide-card b{font-size:15px}.guide-card p{font-size:10px}.level-grid{grid-template-columns:repeat(4,1fr);gap:9px}.level-grid button{height:66px}.chapter-tabs{gap:3px}.chapter-tabs button{font-size:8px;padding:10px 3px}.result{padding:8px 0}.result .modal-title{font-size:37px}.result-stars{font-size:38px;letter-spacing:8px}.modal-actions .primary{padding:16px;min-width:180px}.new-decor{font-size:14px}.collection-grid{grid-template-columns:repeat(2,1fr)}.collection-item figcaption{font-size:10px}.controls{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

