/* LUMA / webfaqe.al — brand controls */
:root{--paper:#f1f2ef;--ink:#1c211c;--muted:#6a7267;--line:#dce0d6;--lime:#c5f451;--lime-dark:#547022;--board:#20261f;--tile:#2c3329;--wire:#58664d;--font:Arial,Helvetica,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid #799b29;outline-offset:4px}button:disabled{opacity:.38;cursor:default}button:not(:disabled){transition:background .2s,transform .2s var(--ease),box-shadow .2s}button:not(:disabled):active{transform:scale(.96)}a{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.header{max-width:1260px;padding:25px 38px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:23px;letter-spacing:-1px;text-decoration:none;display:flex;align-items:center;gap:10px}.brand-icon{background:var(--ink);color:var(--lime);width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:29px;letter-spacing:-3px;padding-right:3px}.brand-dot{color:#596d35}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:var(--muted);font-weight:500}.header-note{font-size:9px;letter-spacing:1.6px;color:var(--muted)}nav{display:flex;gap:9px;align-items:center}.icon-button{width:38px;height:38px;display:grid;place-items:center;background:transparent;border:1px solid #cfd4c7;border-radius:11px;font-size:17px}.icon-button[aria-pressed=true]{background:var(--lime);border-color:var(--lime)}.icon-button svg{width:17px}.level-menu{padding:12px 16px;display:flex;gap:9px;background:var(--ink);color:#f5f7f0;border-radius:11px;font-size:12px;font-weight:600}.level-menu svg{width:15px;height:15px}
main{max-width:1190px;margin:42px auto;display:grid;grid-template-columns:.74fr 1.26fr;gap:72px;padding:0 38px;align-items:center}.intro{padding:0 6px 0 0}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;display:flex;gap:9px;align-items:center}.eyebrow>span{height:6px;width:6px;background:#83a82e;border-radius:50%}h1{font-size:clamp(70px,8vw,108px);line-height:.95;letter-spacing:-9px;font-weight:900;margin:22px 0 21px}h1>span{color:#94bd32}.intro-copy{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.intro-copy strong{color:var(--ink);font-weight:700}.journey{display:flex;gap:30px;margin:28px 0}.journey>span{display:flex;align-items:baseline;gap:6px}.journey b{font-size:25px;font-weight:700;letter-spacing:-1px}.journey small{font-size:8px;letter-spacing:1px;color:var(--muted)}.mission{border:1px solid #d6dcce;border-radius:15px;padding:19px 20px;background:#f8f9f6}.mission-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.chapter{font-size:8px;letter-spacing:1.1px;font-weight:700;color:#596b3d}.difficulty{font-size:8px;color:#576244;background:#e6ebdd;padding:5px 7px;border-radius:5px}h2{font-weight:750;letter-spacing:-.7px}.mission h2{font-size:20px;margin:15px 0 8px}.mission p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.progress-track{height:5px;border-radius:4px;background:#dfe5d6;margin:20px 0 10px;overflow:hidden}.progress-track span{display:block;height:100%;background:#799c2b;transition:width .5s var(--ease);border-radius:4px}.progress-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.progress-caption b{font-weight:600}.tip{display:flex;align-items:center;gap:12px;margin:22px 0}.tip-icon{height:33px;width:33px;border-radius:10px;background:#e0e8d4;color:#52682f;display:grid;place-items:center;font-size:23px}.tip p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.tip strong{color:var(--ink);font-weight:600}.daily{display:flex;align-items:center;width:100%;text-align:left;background:transparent;border-top:1px solid var(--line);padding:19px 0 0;gap:12px}.daily-sun{color:var(--ink);font-size:25px;background:var(--lime);width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.daily b{display:block;font-size:12px;font-weight:600}.daily small{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.daily-arrow{margin-left:auto;font-size:23px}
.play-area{min-width:0;padding:19px;background:var(--board);border:1px solid #333d2e;border-radius:25px;box-shadow:0 18px 45px -28px #1b2b0a70;color:#eff4e7;position:relative}.board-top{display:flex;align-items:center;justify-content:space-between;padding:0 7px 15px}.level-label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700}.mini-star{font-size:24px;color:var(--lime)}.stats{display:flex;gap:19px;align-items:center}.stats span{display:flex;flex-direction:column;gap:4px;min-width:35px}.stats small{font-size:8px;letter-spacing:1.4px;color:#abb59f}.stats b{font-weight:600;font-size:20px;font-variant-numeric:tabular-nums}.stats i{height:28px;width:1px;background:#46503e}.live-goal{display:flex;align-items:center;padding:0 7px 13px;gap:10px;min-height:29px}.live-goal #live-stars{color:var(--lime);font-size:14px;letter-spacing:2px}.live-goal #live-target{font-size:8px;letter-spacing:1px;color:#abb89c}#connection-feedback{margin-left:auto;font-size:9px;color:var(--lime);opacity:0;transform:translateY(3px);transition:.25s var(--ease)}#connection-feedback.visible{opacity:1;transform:translateY(0)}
.board-shell{position:relative;border:1px solid #434d3b;background:#181e16;border-radius:17px;padding:13px 13px 0;overflow:hidden}.board-aura{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,#b4ea2520,transparent 70%);pointer-events:none}.board{position:relative;display:grid;gap:6px;aspect-ratio:1}.tile{position:relative;background:var(--tile);border-radius:10px;aspect-ratio:1;min-width:0;padding:0;box-shadow:inset 0 1px #ffffff09;isolation:isolate;overflow:hidden;transition:background .3s,box-shadow .3s!important}.tile:hover{background:#36412f}.tile.lit{background:#35422b}.tile:disabled{opacity:1}.tile svg{width:100%;height:100%;display:block;overflow:visible;transition:transform .26s var(--ease);transform-origin:50% 50%;will-change:transform}.tile .wire{stroke:var(--wire);stroke-width:7;fill:none;transition:stroke .28s;stroke-linecap:butt}.tile.lit .wire{stroke:var(--lime)}.tile .hub{fill:var(--tile);stroke:var(--wire);stroke-width:5;transition:stroke .28s,fill .28s}.tile.lit .hub{stroke:var(--lime);fill:#597439}.tile .lamp{fill:#333e2a;stroke:#6b7f55;stroke-width:4;transition:stroke .25s,fill .25s}.tile.lit .lamp{fill:var(--lime);stroke:#dfffa4;filter:drop-shadow(0 0 5px #c5f45165)}.tile .source-ring{fill:#f0fbd4;stroke:#c5f451;stroke-width:3}.tile .source-core{fill:#33441d;stroke:none}.tile.source path:not(.wire){stroke:#33441d}.tile.source{background:#43572c}.tile.hinted{animation:hint 1s ease 2}.tile:focus-visible{outline:3px solid #effbc7;outline-offset:-3px;z-index:2}.board.solved .tile{background:#435e2e;transition:background .5s!important}.board-bottom{height:36px;position:relative;display:flex;justify-content:center;gap:25px;align-items:center;color:#b4c0a6;font-size:8px}.board-bottom span{display:flex;gap:7px;align-items:center}.legend-source{height:8px;width:8px;background:#f0fbd4;border-radius:50%}.legend-lamp{height:8px;width:8px;background:var(--lime);border-radius:50%}.toolbar{display:flex;border:1px solid #45503b;border-radius:11px;margin-top:12px;padding:4px;background:#2a3225}.toolbar button{background:transparent;color:#d6dfcb;flex:1;padding:9px 3px;font-size:11px;display:flex;justify-content:center;align-items:center;gap:8px;border-right:1px solid #45503b}.toolbar button:last-child{border:0;color:var(--lime)}.toolbar button:hover{background:#3d4a31;border-radius:7px}.toolbar span{font-size:19px;line-height:1}.game-foot{display:flex;justify-content:space-between;margin:13px 4px 0;font-size:8px;color:#a7b19b;gap:12px}.saved{display:flex;align-items:center;gap:5px;white-space:nowrap}.saved i{height:4px;width:4px;border-radius:50%;background:var(--lime)}
footer{max-width:1190px;margin:0 auto;padding:20px 38px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#747f69;font-size:8px;letter-spacing:1px}footer a{text-decoration:none}footer a b{font-weight:700;color:var(--ink)}#level-dots{display:flex;gap:7px}#level-dots span{height:5px;width:5px;border-radius:50%;background:#ccd6bf}#level-dots .done{background:#9ba983}#level-dots .active{background:#6a882b;width:17px;border-radius:4px}.footer-right{font-size:9px;letter-spacing:0}
dialog{border:1px solid #4d5c3e;border-radius:23px;background:#20261e;color:#eff5e6;padding:34px;max-width:470px;width:calc(100% - 30px);box-shadow:0 25px 100px #131e1566;max-height:85dvh;overflow:auto}dialog[open]{animation:modal-in .28s var(--ease)}dialog::backdrop{background:#141a1470;backdrop-filter:blur(9px)}.close{position:absolute;right:14px;top:10px;background:none;font-size:27px;color:#b4bfa6}.dialog-eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--lime);font-weight:600}dialog h2{font-size:31px;margin:14px 0}.dialog-copy{font-size:13px;color:#b4bfa6;line-height:1.7}.primary{display:flex;justify-content:space-between;align-items:center;background:var(--lime);color:var(--ink);border-radius:11px;padding:16px 18px;width:100%;font-size:13px;font-weight:700;margin-top:24px;box-shadow:0 4px #6e872e}.primary:hover{background:#d4ff6c}.primary:active{box-shadow:0 1px #6e872e;transform:translateY(2px)!important}.how-art{background:#333f28;border-radius:13px;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--lime);margin:20px 0}.how-art span{font-size:29px}.how-art i{height:3px;width:48px;background:#839d51;margin:0 15px}ol{padding-left:20px;font-size:13px;line-height:1.8}li{padding-left:5px;margin:11px 0}li b{font-weight:700}.help-detail,.keyboard{font-size:11px;color:#b4bfa6;line-height:1.8}.keyboard{border-top:1px solid #4c5940;padding-top:12px}.level-group-title{font-size:9px;color:#b4bfa6;text-transform:uppercase;letter-spacing:1px;margin:24px 0 12px}.level-group{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.level-choice{background:#37432d;color:#f1f7e7;border:1px solid transparent;border-radius:10px;padding:11px 0;font-size:15px}.level-choice.current{border-color:var(--lime);background:#495d34}.level-choice small{display:block;font-size:8px;letter-spacing:1px;color:var(--lime);min-height:10px;margin-top:5px}#win-dialog{text-align:center;overflow:hidden}.win-art{font-size:64px;line-height:1;background:var(--lime);color:var(--ink);border-radius:22px;width:89px;height:89px;display:grid;place-items:center;margin:0 auto 23px;transform:rotate(-8deg)}.win-stars{color:var(--lime);font-size:33px;letter-spacing:8px;margin:21px 0}.win-stars span{display:inline-block;animation:star-pop .5s var(--ease) backwards}.win-stars span:nth-child(2){animation-delay:.12s}.win-stars span:nth-child(3){animation-delay:.24s}.win-stars .empty{color:#63704f}.win-stats{display:flex;justify-content:center;gap:55px;margin:25px 0;color:#b4bfa6;font-size:11px}.win-stats b{font-size:28px;display:block;color:#eff5e6;font-weight:600;margin-bottom:5px}.text-button{display:block;width:100%;background:transparent;color:#b4bfa6;font-size:12px;padding:15px 0 0}.share-button{width:100%;padding:13px;margin-top:13px;background:#37432d;color:#dcebc7;border-radius:10px;font-size:12px}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-18px;left:var(--x);width:6px;height:12px;background:var(--color);border-radius:2px;animation:confetti 1.8s var(--delay) ease-in forwards}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;transition:.25s var(--ease);background:var(--ink);color:#eff5e6;padding:14px 22px;border:1px solid #52643c;border-radius:12px;font-size:12px;z-index:10;max-width:calc(100% - 30px);text-align:center;width:max-content}#toast.show{opacity:1;transform:translate(-50%,0)}
.focus-mode .intro,.focus-mode footer,.focus-mode .header-note{display:none}.focus-mode main{display:block;max-width:645px;margin:24px auto}.focus-mode .header{max-width:1000px}.focus-mode .play-area{width:100%}
@keyframes hint{50%{box-shadow:inset 0 0 0 3px #effbd0}}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes star-pop{from{opacity:0;transform:scale(.1) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes confetti{to{transform:translateY(610px) rotate(var(--spin));opacity:0}}
@media(min-width:1500px){main{margin-top:62px;margin-bottom:62px}}@media(max-width:1000px){main{gap:35px;padding:0 28px}.header{padding:23px 28px}.header-note{display:none}h1{font-size:83px;letter-spacing:-6px}.difficulty{display:none}.play-area{padding:15px}.mission{padding:17px}.journey{gap:20px}}
@media(max-width:700px){.header{padding:15px 18px}.brand{font-size:18px;gap:8px}.brand-icon{width:35px;height:35px;font-size:25px;border-radius:9px}.brand small{font-size:6px;letter-spacing:1.5px;margin-top:4px}.icon-button{height:33px;width:33px;border-radius:9px}.level-menu{padding:10px;border-radius:9px}.level-menu span{display:none}nav{gap:6px}main{display:flex;flex-direction:column;gap:18px;margin:21px auto 25px;padding:0 17px;max-width:500px;align-items:stretch}.intro{position:relative;padding:0}.eyebrow{font-size:7px;letter-spacing:1.6px}h1{font-size:58px;letter-spacing:-4px;line-height:1;margin:12px 0 8px}.intro-copy{font-size:11px;line-height:1.6}.intro-copy br{display:none}.intro-copy strong{margin-right:3px}.journey{position:absolute;right:0;top:22px;display:flex;gap:15px;margin:0}.journey>span{flex-direction:column;gap:4px;align-items:flex-end}.journey b{font-size:21px}.journey small{font-size:7px;letter-spacing:.5px}.mission{margin-top:15px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:0 12px;border-radius:12px}.mission-top{grid-column:1 / -1}.difficulty{display:block;font-size:7px;padding:4px 6px}.chapter{font-size:7px}.mission h2{font-size:16px;margin:8px 0 0;grid-column:1 / -1}.mission p{display:none}.progress-track{grid-column:1;margin:11px 0 2px;align-self:center;height:4px}.progress-caption{grid-column:2;font-size:8px;align-self:end;gap:10px}.progress-caption>span:last-child{display:none}.tip,.daily{display:none}.play-area{border-radius:20px;padding:13px}.board-top{padding:0 3px 12px}.level-label{font-size:12px}.stats{gap:14px}.stats b{font-size:17px}.stats small{font-size:7px}.mini-star{font-size:22px}.live-goal{padding:0 3px 10px;gap:8px}.live-goal #live-stars{font-size:12px}.live-goal #live-target{font-size:7px;letter-spacing:.6px}#connection-feedback{font-size:7px}.board-shell{border-radius:13px;padding:10px 10px 0}.board{gap:5px}.tile{border-radius:7px}.board-bottom{height:30px;font-size:7px;gap:18px}.toolbar{margin-top:10px;padding:3px}.toolbar button{font-size:10px;padding:9px 2px;gap:7px}.game-foot{font-size:7px;gap:7px;margin-top:10px}footer{margin:0 17px;padding:18px 0 22px;font-size:6px;letter-spacing:.6px}.footer-right{display:none}#level-dots{gap:5px}dialog{padding:30px 23px}.level-group{gap:6px}.level-choice{font-size:12px}.keyboard{display:none}.focus-mode main{padding:0 13px;margin:18px auto}}
@media(max-width:360px){.brand{font-size:16px}.brand-icon{width:30px;height:30px}nav{gap:4px}.icon-button{width:30px;height:30px}.level-menu{padding:8px}.board-shell{padding:7px 7px 0}.board{gap:4px}.game-foot{font-size:6px}.journey{gap:10px}.journey small{font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.tile svg{will-change:auto}.confetti{display:none}}
