:root{font-family:'Trebuchet MS',system-ui,sans-serif;color:#304d3b;background:#163f38}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:12px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #bd8741;outline-offset:3px}[hidden]{display:none!important}.game-shell{width:min(1150px,100%);height:min(930px,calc(100dvh - 24px));min-height:560px;padding:0 22px;display:grid;grid-template-rows:52px 70px minmax(90px,1fr) 205px 42px 220px 62px;background:#faf7ed;border-radius:22px;overflow:hidden;position:relative;box-shadow:0 22px 70px #09241f88}header{margin:0 -22px;padding:0 22px;height:52px;display:flex;align-items:center;justify-content:space-between;background:#fff9df;border-bottom:3px solid #e6cf83;font-size:12px}header a{color:#385747;text-decoration:none}header strong{letter-spacing:1.6px}#progress{color:#7c876b;font-size:11px}.intro{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:bold;color:#88906d;margin:0 0 5px}h1{margin:0;font-size:29px;letter-spacing:-.8px}.intro>span{font-size:14px;white-space:nowrap}.shop{position:relative;min-height:0;background:repeating-linear-gradient(90deg,#e1e8d2 0 35px,#dbe3cb 35px 37px);border-radius:16px 16px 0 0;border-bottom:9px solid #baa17b;overflow:hidden}.door{position:absolute;bottom:0;width:72px;height:105px;background:#477c64;border:5px solid #b39d78;border-bottom:0;border-radius:6px 6px 0 0;transition:filter .2s}.door span{display:block;margin:9px 5px;background:#fff6db;text-align:center;font-size:9px;padding:4px 0;color:#536850}.door i{position:absolute;left:7px;bottom:22px;width:6px;height:6px;background:#e7c973;border-radius:50%}.entrance{left:3%}.exit{right:3%;background:#719485}.door.open{filter:brightness(.55)}.wall-sign{position:absolute;left:50%;top:17px;transform:translateX(-50%);background:#f9f4e3;border:2px solid #bdc6a7;border-radius:7px;padding:8px 22px;text-align:center;white-space:nowrap;font-size:13px;letter-spacing:2px;font-weight:bold}.wall-sign span{display:block;font-size:10px;font-weight:normal;letter-spacing:.5px;margin-top:4px}#gardener{position:absolute;left:0;bottom:-15px;width:105px;height:139px;visibility:hidden;z-index:2}#gardener svg{width:100%;height:100%;overflow:visible}.shake{transform-box:fill-box;transform-origin:center;animation:shake .6s 2}.wink{transform-box:fill-box;transform-origin:center;animation:wink .45s .5s 2}@keyframes shake{25%,75%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes wink{50%{transform:scaleY(.08)}}#bin{position:absolute;right:16%;bottom:0;width:46px;height:48px;background:#899d90;border:3px solid #647a6a;border-radius:3px 3px 9px 9px;text-align:center;color:#eaf0d9}.lid{height:6px;position:absolute;left:-5px;right:-5px;top:-8px;background:#647a6a;border-radius:4px;transform-origin:left;transition:transform .25s}#bin.open .lid{transform:rotate(-35deg)}#bin span{font-size:23px;line-height:31px}#bin small{font-size:9px;display:block}#bouquets{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:10px 0 3px;min-height:0}.bouquet{position:relative;border:2px solid #d9caae;border-bottom:5px solid #c7b68e;border-radius:12px;background:#f2ecdc;min-width:0;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.bouquet.selected{border-color:#5c8967;background:#e8edda}.bouquet.checked{box-shadow:inset 0 0 0 2px #78a273}.bouquet-number{align-self:flex-start;font-size:10px;font-weight:bold;color:#7b876c}.arrangement{position:relative;flex:1;width:100%;min-height:55px;max-width:160px}.arrangement:before{content:'';position:absolute;left:23%;right:23%;top:28%;bottom:0;background:#d9b285;clip-path:polygon(0 0,100% 0,65% 100%,35% 100%)}.arrangement:after{content:'🎀';position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);font-size:25px}.bloom{position:absolute;left:var(--x);top:var(--y);transform:translateX(-50%) rotate(var(--angle));font-size:27px;line-height:1}.recipe{font-size:11px;letter-spacing:.3px;white-space:nowrap;margin:4px 0}.label-space{min-height:30px;min-width:72px;border:2px dashed #baa47c;border-radius:6px;font-size:12px;padding:4px 8px;background:#fff9e9}.label-space.labelled{border:1px solid #bfa574;font-size:17px;font-weight:bold;box-shadow:0 2px 0 #c6ad8030}#message{display:grid;place-items:center;text-align:center;font-weight:bold;font-size:14px;line-height:1.3;padding:3px 7px}.work-area{display:grid;grid-template-columns:1.3fr 230px 150px;gap:20px;min-height:0;background:#e5d2b0;border:4px solid #c5a477;border-top:8px solid #b58d5e;border-radius:13px;padding:12px}.assembly{min-width:0}.order-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}h2{font-size:16px;margin:0}.order-top span{font-size:10px;color:#778066}#flowerChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.flower-choice{background:#fff7e5;border:2px solid #c6b086;border-bottom:5px solid #b49c72;border-radius:10px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;min-width:0;min-height:84px}.flower-choice .emoji{font-size:29px}.flower-choice strong{font-size:13px}.flower-choice.added{background:#d8e4c7;border-color:#9aac84}.flower-choice:disabled{cursor:default}.flower-choice .unit-price{font-size:10px;color:#7b6b4a}#calculation{font-size:18px;text-align:center;font-weight:bold;margin:12px 0 0;color:#685d42;white-space:nowrap}.register{background:#658779;border:3px solid #476959;border-radius:12px;padding:7px;display:grid;grid-template-rows:32px 1fr 33px;gap:5px;min-height:0}.register-top{display:flex;gap:6px;align-items:center}.register-top>span{font-size:8px;letter-spacing:1px;color:#f4efd9}#display{flex:1;background:#dce6c9;color:#3d5138;border:2px inset #b0bf9d;border-radius:4px;text-align:right;font-size:20px;padding:1px 5px;font-family:monospace}#keypad{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}#keypad button{min-width:0;border:0;border-bottom:3px solid #b8bea8;border-radius:5px;background:#fbf8e9;font-size:18px;font-weight:bold;padding:0}#print{background:#f5d681;border:0;border-bottom:3px solid #c5a14e;border-radius:5px;font-size:12px;font-weight:bold}.printer{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.paper-slot{width:105px;height:7px;border-radius:4px;background:#7c6952;box-shadow:0 3px #c3a780}#priceTag,.tag-ghost{background:#fffaf0;border:1px solid #b99f74;border-radius:3px;padding:11px 12px;font-size:23px;font-weight:bold;color:#645438;box-shadow:0 4px 6px #8e704733;min-width:104px;touch-action:none;user-select:none}#priceTag.selected{outline:3px solid #467859}#priceTag{margin-top:-1px}#tagHelp{font-size:11px;text-align:center;line-height:1.4;color:#796a4e;margin:8px 0 0}.tag-ghost{position:fixed;z-index:30;pointer-events:none}.trash-tag{position:fixed;z-index:20;pointer-events:none;background:#fff9e9;border:1px solid #b49d73;padding:4px 9px;font-size:16px;color:#665437;border-radius:4px}footer{display:flex;align-items:center;justify-content:space-between;gap:12px}footer>span{font-size:11px;max-width:480px;color:#76816c}footer>button,.welcome button{background:#347654;color:white;border:0;border-bottom:5px solid #245b3e;border-radius:12px;padding:10px 22px;font-weight:bold;font-size:18px;min-height:48px}button:disabled{cursor:default}#check:disabled,#print:disabled{opacity:.5}.overlay{position:absolute;inset:0;background:#243e3388;backdrop-filter:blur(5px);z-index:40;display:grid;place-items:center;padding:20px}.welcome{width:min(540px,100%);max-height:100%;overflow:auto;background:#fffaf0;border-radius:26px;padding:28px;text-align:center;box-shadow:0 25px 80px #20392f44}.welcome h1{font-size:30px}.welcome p{line-height:1.6}.mascot{font-size:47px;margin-bottom:10px}@media(min-width:701px) and (max-height:750px){.game-shell{grid-template-rows:46px 47px minmax(70px,1fr) 155px 35px 172px 51px;min-height:550px}header{height:46px}.intro h1{font-size:24px}.intro .eyebrow{display:none}.shop .wall-sign{top:7px;padding:5px 15px;font-size:11px}.wall-sign span{font-size:9px}.door{height:75px;width:58px}#gardener{height:105px;width:80px;bottom:-12px}#bin{height:35px;width:37px}#bin span{font-size:17px;line-height:21px}.bouquet{padding:3px}.bloom{font-size:21px}.arrangement:after{font-size:19px}.recipe{font-size:10px;margin:2px 0}.label-space{min-height:25px;padding:2px 7px}.label-space.labelled{font-size:15px}.work-area{grid-template-columns:1fr 256px 116px;gap:12px;padding:6px 10px;border-top-width:6px}.order-top{margin-bottom:5px}h2{font-size:14px}.order-top span{font-size:9px}.flower-choice{min-height:68px;padding:4px 1px;gap:1px}.flower-choice .emoji{font-size:23px}.flower-choice strong{font-size:11px}#calculation{font-size:16px;margin-top:6px}.register{padding:4px;grid-template-rows:26px 1fr 28px;gap:3px}#display{font-size:18px}#keypad button{font-size:16px}#print{font-size:11px}#priceTag{font-size:20px;min-width:94px;padding:7px}#tagHelp{font-size:10px}footer>button{font-size:16px;padding:8px 18px;min-height:44px}#message{font-size:12px}}@media(max-width:700px){body{padding:8px}.game-shell{height:auto;min-height:calc(100dvh - 16px);grid-template-rows:54px 87px 105px auto 64px auto 80px;padding:0 12px}header{height:54px;margin:0 -12px;padding:0 12px;font-size:10px}header strong{letter-spacing:0}#progress{font-size:9px}.intro{display:block;padding-top:10px}.intro h1{font-size:24px}.intro>span{display:block;margin-top:7px;font-size:12px}.door{width:49px;height:83px}.wall-sign{font-size:9px;padding:6px 8px;top:9px}.wall-sign span{font-size:8px}#gardener{width:75px;height:100px}#bin{width:31px;height:33px;right:20%}#bin span{font-size:18px;line-height:22px}#bouquets{grid-template-columns:repeat(3,1fr);gap:8px}.bouquet{min-height:177px}.bloom{font-size:22px}.recipe{font-size:9px}.label-space{min-width:60px}.work-area{grid-template-columns:1fr 116px;gap:12px;padding:10px}.assembly{grid-column:1/-1}.register{min-height:215px;grid-template-rows:30px 1fr 35px}#keypad{grid-template-columns:repeat(3,1fr)}#keypad button{min-height:31px}.printer{min-width:0}#priceTag{min-width:95px;font-size:19px;padding:9px}#calculation{font-size:17px}#message{font-size:12px}footer>span{max-width:165px;font-size:10px}footer>button{font-size:15px;padding:8px 13px}.welcome{padding:22px}.welcome h1{font-size:27px}}@media(prefers-reduced-motion:reduce){*,*:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Buketterne står frit på skranken; gartneren står bag den. */
.shop{overflow:hidden}
.door{height:165px;width:100px}.door span{font-size:11px;padding:7px 0;margin:13px 9px}
#gardener{width:145px;height:210px;bottom:-68px}
#bouquets{position:relative;z-index:3;background:#dbc29a;border-top:10px solid #bc9568;padding:5px 12px 3px;border-radius:0 0 10px 10px;gap:16px}
.bouquet{border:0;background:transparent;border-radius:0;padding:2px;max-width:165px;width:100%;justify-self:center}
.bouquet.selected{background:transparent;border:0}.bouquet.selected .bouquet-number{color:#346b4c;text-decoration:underline;text-underline-offset:3px}
.bouquet.checked{box-shadow:none}.bouquet.checked .label-space{border-color:#6e976c}
.arrangement{width:105px;max-width:105px;min-height:90px;flex:none;height:110px}
.arrangement:before{z-index:2;left:20%;right:20%;top:47%;background:#d1a879;clip-path:polygon(0 0,100% 0,64% 100%,36% 100%)}
.arrangement:after{z-index:3;font-size:20px}
.bloom{width:36px;height:68px;font-size:0;z-index:1}.bloom svg{width:100%;height:100%;overflow:visible}
.label-space{background:#fffaf0}.recipe{font-size:11px}
#priceTag.printing{pointer-events:none}
@media(min-width:701px) and (max-height:750px){.game-shell{grid-template-rows:46px 47px minmax(85px,1fr) 145px 35px 172px 51px}.door{height:135px;width:80px}#gardener{width:130px;height:180px;bottom:-59px}.arrangement{height:75px;min-height:75px;width:85px}.bloom{width:29px;height:49px}.arrangement:after{font-size:17px}#bouquets{padding-top:1px}.bouquet-number{font-size:9px}.recipe{font-size:10px}}
@media(max-width:700px){.door{width:65px;height:130px}#gardener{width:115px;height:165px;bottom:-52px}.bouquet{min-height:162px}.arrangement{height:95px;min-height:95px;width:86px}.bloom{width:30px;height:57px}#bouquets{padding-left:5px;padding-right:5px;gap:8px}.recipe{font-size:9px}}
@media(min-width:701px) and (max-height:750px){.game-shell{grid-template-rows:46px 47px minmax(80px,1fr) 145px 35px 172px 51px}}

/* Stilkene slutter inde i indpakningen, også for blomster i de nederste rækker. */
.bloom{clip-path:inset(0 0 43% 0)}

