
:root{font-family:ui-rounded,'Avenir Next',Avenir,system-ui,sans-serif;color:#2c493d;font-synthesis:none;--cream:#fff3cf;--wood:#bd8c56}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:#b2cbb2}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #1a6669;outline-offset:4px}button:disabled{cursor:default;opacity:.46}#world{position:fixed;inset:0;z-index:-1}#world>svg{width:100%;height:100%}body.evening #world{filter:hue-rotate(328deg) saturate(.75);background:#b48787}body.evening #world>svg{opacity:.77}main{max-width:1100px;margin:auto;padding:22px 40px 10px;min-height:100svh;display:flex;flex-direction:column;align-items:center}header{width:100%;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;font-weight:800;letter-spacing:2.4px}h1{font-family:Georgia,serif;font-weight:700;font-size:40px;letter-spacing:-2px;margin:2px 0;color:#814421;text-shadow:0 2px #fff0bc}h1 span{color:#284f39}h1 sup{font-size:22px;color:#947733;margin-left:3px}h2{font:24px Georgia,serif;margin:5px 0 0}.quiet{border:1px solid #42614944;background:#f6f2d6bb;border-radius:30px;min-height:44px;padding:9px 17px;font-size:12px;font-weight:650}.topline{width:100%;display:flex;align-items:center;justify-content:space-between;margin:8px 0;font-size:11px;font-weight:650}.topline #region{letter-spacing:2px;font-size:9px}#destinations{display:flex;width:90%;justify-content:space-between;height:117px;margin:-2px 0 -8px;pointer-events:none}.house{width:155px;text-align:center;filter:drop-shadow(0 5px 4px #334b3422);transition:filter .3s}.house svg{width:100%;height:110px}.house span{display:inline-block;font-size:10px;font-weight:700;background:#f6edd2c9;padding:4px 10px;border-radius:10px;transform:translateY(-16px)}.house.received{animation:receive 1s}.house.received .window{fill:#fff;filter:drop-shadow(0 0 8px #ffc651)}.station{width:620px;max-width:100%;position:relative;background:repeating-linear-gradient(0deg,#ab7d4d22 0px,#ab7d4d22 2px,transparent 2px,transparent 43px),linear-gradient(90deg,#bd8c56,#dfb37a 49%,#c59560);border:8px solid #936339;border-radius:28px 28px 20px 20px;padding:13px 25px 0;box-shadow:0 7px 0 #705436,0 10px 0 #d3b275,0 20px 30px #243b3d33,inset 0 0 0 2px #ebc997;z-index:1}.station:before,.station:after{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#755632;box-shadow:inset 1px 1px 2px #493b25,0 1px #e2c28c;top:20px;left:10px}.station:after{left:auto;right:10px}.station-heading{text-align:center;margin-bottom:12px;color:#553d26}.station-heading .eyebrow{font-size:8px}.queue-label{display:flex;justify-content:space-between;font-size:8px;font-weight:800;letter-spacing:1.4px;color:#573e27;margin-bottom:8px}.queue-label b{font-size:14px;margin-left:8px}#queue{display:flex;align-items:center;gap:5px;min-height:53px;flex-wrap:wrap;align-content:center;padding:2px 0}.parcel{height:32px;width:30px;flex-shrink:0;border:1px solid #a77544;border-radius:5px;background:linear-gradient(135deg,#fff7df,#e9c996);box-shadow:1px 3px 0 #8f663e55;position:relative;display:grid;place-items:center}.parcel:before{content:'';position:absolute;inset:0 44%;background:#ac845633}.parcel.front{height:48px;width:47px;border:2px solid #774e28;box-shadow:0 0 0 3px #ffedb6,0 5px 6px #62412333;margin-right:7px}.symbol{width:24px;height:24px;position:relative;z-index:1}.parcel.front .symbol{width:33px;height:33px}.rail{height:9px;background:linear-gradient(#ac7848,#855932);border-radius:5px;box-shadow:0 2px #e7bc81;margin:5px -10px 0}#perches{display:flex;justify-content:center;gap:38px;padding-top:12px;min-height:148px}.perch{width:170px;height:137px;position:relative;background:linear-gradient(transparent 41%,#9d6d4222 42%,#96623822 50%,transparent 51%),linear-gradient(#c2915d,#b37d47);border:3px solid #956638;border-bottom:13px solid #d8a76a;box-shadow:0 5px 0 #734e2f,inset 0 2px #e5b881;border-radius:32px 32px 8px 8px;display:flex;align-items:center;justify-content:center}.perch:before,.perch:after{content:'';position:absolute;bottom:-7px;width:12px;height:53px;border-radius:10px;background:linear-gradient(90deg,#bb8853,#f1c68b);left:-9px;box-shadow:0 3px 2px #72503466}.perch:after{left:auto;right:-9px}.perch .bird{position:absolute;width:158px;height:158px;bottom:-4px;filter:drop-shadow(0 4px 2px #50382122)}.empty{font:italic 13px Georgia,serif;color:#67492b;opacity:.8}.load-label{position:absolute;bottom:1px;right:0;border-radius:5px;background:#fff2cd;font-size:9px;font-weight:750;padding:3px 5px;z-index:2}.station-foot{min-height:52px;display:flex;align-items:center;justify-content:center;gap:13px;color:#483b27;font-size:13px;font-weight:650}.station-foot button{border:1px solid #84623d;border-radius:20px;padding:8px 14px;background:#fff0c4;min-height:40px;font-weight:750}#status.blocked{color:#722e16}.waiting{width:600px;max-width:100%;margin-top:22px}.waiting-label{display:flex;justify-content:space-between;font-size:9px;font-weight:750;letter-spacing:1px}.waiting-label span+span{font-weight:500;letter-spacing:0}#lanes{display:flex;justify-content:center;gap:25px;margin-top:5px}.lane{width:170px;display:flex;flex-direction:column;align-items:center;position:relative}.lane button{width:145px;height:141px;padding:0;background:transparent;border:0;border-radius:40px;position:relative;z-index:2;transition:transform .2s,filter .2s}.lane button .bird{width:100%;height:100%}.lane button:not(:disabled):hover{transform:translateY(-5px);filter:drop-shadow(0 0 8px #fff0b5)}.lane button:not(:disabled):active{transform:translateY(-2px) scale(.97)}.lane button.hinted{background:#fff3bb88;box-shadow:0 0 0 3px #fff0a1;animation:pulse 1s infinite}.lane-base{height:12px;background:linear-gradient(#d2a26a,#95673e);width:100%;border-radius:8px;box-shadow:0 4px #6d5438;margin-top:-9px;z-index:3}.lane-order{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px;min-height:28px}.lane-order .symbol{width:20px;height:20px}.lane-order span{display:grid;place-items:center;width:27px;height:27px;background:#f7e8c4;border:1px solid #a98a61;border-radius:7px}.lane-order span:first-child{border:2px solid #617d5c}.lane-note{font-size:9px;margin-top:4px;font-weight:650;color:#294f41}.done-lane{display:flex;align-items:center;justify-content:center;font:italic 13px Georgia,serif;height:141px;opacity:.7}footer{display:flex;gap:15px;margin-top:17px;padding:8px 26px;border-radius:35px;background:#f7edccde;box-shadow:0 4px 12px #35554122}footer button{border:0;background:transparent;min-width:83px;min-height:48px;font-size:12px;font-weight:700;display:flex;gap:8px;align-items:center;justify-content:center}footer button span{font:30px Georgia,serif;color:#7d4d2f}#message{font:italic 12px Georgia,serif;text-align:center;margin:12px 0 0;min-height:28px;max-width:550px}dialog{border:2px solid #a58b56;border-radius:24px;background:#fff5d9;color:#2c493d;max-width:420px;width:90%;padding:25px;box-shadow:0 20px 80px #203b3466}dialog::backdrop{background:#203c4266;backdrop-filter:blur(4px)}dialog h2{margin-bottom:20px}dialog button{min-height:48px;border:1px solid #ae986b;border-radius:12px;background:#f2e2ba;padding:10px 16px}#close-dialog{width:100%;margin-top:20px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.settings-row input{width:25px;height:25px;accent-color:#386e58}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.level-grid button{padding:8px}.level-grid .complete{background:#dbe8c6}#flight{position:fixed;inset:0;pointer-events:none;z-index:10}.flying{position:fixed;width:140px;animation:fly .65s ease-in forwards}.loading{animation:nod .2s}.arriving{animation:hop .25s}.recovery{animation:pulse 1s infinite}@keyframes pulse{50%{filter:drop-shadow(0 0 6px #fff6ae)}}@keyframes hop{0%{transform:translateY(25px) scale(.8)}55%{transform:translateY(-10px)}}@keyframes nod{50%{transform:translateY(4px) rotate(3deg)}}@keyframes fly{to{transform:translate(var(--dx),var(--dy)) rotate(-14deg) scale(.35);opacity:0}}@keyframes receive{50%{filter:drop-shadow(0 0 16px #ffef9f);transform:translateY(-4px)}}body.reduced *,body.reduced *:before{animation:none!important;transition:none!important}
@media(min-width:1000px) and (min-height:850px){main{padding-top:30px}.station{margin-top:15px}#destinations{height:145px}.house{width:180px}.house svg{height:140px}.station{padding-top:18px}#perches{padding-top:25px;min-height:168px}.waiting{margin-top:28px}.lane button{height:153px;width:157px}footer{margin-top:22px}}
@media(max-width:600px){main{padding:12px 15px 6px}header{align-items:center}h1{font-size:32px}.brand>.eyebrow{font-size:6px;letter-spacing:1.7px}.quiet{font-size:10px;padding:8px 13px}.topline{font-size:9px;margin:4px 0}.topline #region{font-size:7px;letter-spacing:1px}#destinations{width:100%;height:105px;margin:-8px 0 -6px}.house{width:105px}.house svg{height:98px}.house span{font-size:8px;padding:3px 7px;transform:translateY(-16px)}.station{border-width:6px;padding:10px 15px 0;border-radius:23px 23px 15px 15px}.station-heading{margin-bottom:6px}h2{font-size:21px}.queue-label{font-size:7px;letter-spacing:.7px}#queue{gap:4px;min-height:49px}.parcel{width:25px;height:27px}.parcel .symbol{width:21px;height:21px}.parcel.front{width:40px;height:42px;margin-right:4px}.parcel.front .symbol{width:29px;height:29px}#perches{gap:26px;padding-top:13px;min-height:124px}.perch{width:121px;height:113px}.perch .bird{width:135px;height:135px}.station-foot{min-height:48px;font-size:11px;gap:8px}.station-foot button{font-size:11px;padding:7px 10px}.waiting{margin-top:21px}.waiting-label{font-size:8px;letter-spacing:.5px}#lanes{gap:12px;margin-top:4px}.lane{width:110px}.lane button{width:112px;height:115px}.done-lane{height:115px;font-size:11px}.lane-order{gap:3px;margin-top:7px}.lane-order span{width:23px;height:23px}.lane-order .symbol{width:17px;height:17px}.lane-note{font-size:8px}.lane-base{height:10px}footer{gap:7px;margin-top:13px;padding:2px 15px}footer button{min-width:76px;font-size:11px;min-height:48px}#message{font-size:11px;margin-top:10px}}
@media(max-height:750px){main{padding-top:8px}#destinations{height:80px}.house svg{height:76px}.house span{transform:translateY(-17px)}.station-heading{margin-bottom:4px}#perches{min-height:109px;padding-top:9px}.perch{height:97px}.perch .bird{width:120px;height:120px}.station-foot{min-height:43px}.waiting{margin-top:17px}.lane button,.done-lane{height:100px}.lane button{width:107px}.lane-order{margin-top:5px}footer{margin-top:10px}#message{margin-top:7px}}
@media(max-height:700px) and (min-width:650px){main{display:grid;grid-template-columns:1fr 1fr;gap:5px 25px;padding:8px 24px;max-width:1000px}header{grid-column:1/3}h1{font-size:26px}.topline{grid-column:1/3;margin:0}.brand .eyebrow{font-size:6px}#destinations{display:none}.station{grid-column:1;grid-row:3/6}.waiting{grid-column:2;grid-row:3;margin:0}footer{grid-column:2;grid-row:4;margin:0;justify-content:center;padding:0}#message{grid-column:2;grid-row:5}.lane{width:100px}.lane button{width:100px;height:100px}#lanes{gap:8px}.station-heading h2{font-size:19px}.station-heading .eyebrow{display:none}.station{padding:8px 15px 0}.topline .quiet{min-height:32px;padding:5px 12px}.station-foot{min-height:39px}#perches{gap:20px}.perch{width:110px}.waiting-label{font-size:8px}}
/* Explicit line boxes keep the entire station reachable on compact phones. */
.brand>.eyebrow{display:block;line-height:10px}h1{line-height:1.1}.station-heading .eyebrow{display:block;line-height:10px}h2{line-height:1.15}.queue-label{line-height:12px;align-items:center}.waiting-label{line-height:12px}.lane-note{line-height:11px}
@media(max-width:600px){main{padding-top:9px}.brand>.eyebrow{line-height:8px}#destinations{height:85px}.house svg{height:80px}.station-heading{margin-bottom:7px}.station-foot{line-height:14px}.lane-order{min-height:23px}.lane-note{line-height:10px}#message{line-height:14px;min-height:14px}}
@media(max-height:750px) and (max-width:600px){main{padding:5px 13px}h1{font-size:28px}.brand>.eyebrow{font-size:5px;letter-spacing:1px}header{height:44px}.topline{margin:0;min-height:44px}#destinations{height:49px;margin:-3px 0 0}.house svg{height:48px}.house span{font-size:7px;padding:1px 5px;transform:translateY(-13px)}.station{padding:8px 12px 0;border-width:5px}.station-heading{margin-bottom:4px}.station-heading .eyebrow{font-size:6px;line-height:7px;letter-spacing:1.6px}.station-heading h2{font-size:18px;margin-top:3px;line-height:21px}.queue-label{font-size:6px;line-height:10px;margin-bottom:4px}#queue{min-height:40px;gap:3px}.parcel{width:24px;height:25px}.parcel.front{width:35px;height:35px}.parcel.front .symbol{width:26px;height:26px}#perches{min-height:91px;padding-top:8px}.perch{height:83px;width:112px}.perch .bird{height:108px;width:108px}.station-foot{min-height:40px}.station-foot button{min-height:40px}.waiting{margin-top:15px}.lane button,.done-lane{height:85px}.lane button{width:95px}.lane-order{margin-top:4px}.lane-note{margin-top:2px}.lane-order span{height:22px;width:22px}.lane-base{height:8px}footer{margin-top:8px;padding:0 14px}#message{margin-top:5px;font-size:10px;min-height:13px;line-height:13px}}
@media(min-width:650px) and (min-height:701px){main{padding-top:16px}#destinations{height:90px;margin:0 0 -4px}.house{width:155px}.house svg{height:87px}.station{width:740px;margin-top:0;padding-top:13px}#perches{min-height:148px;padding-top:12px}.waiting{margin-top:22px}.lane button,.done-lane{height:125px}.lane button{width:135px}footer{margin-top:15px}#message{margin-top:8px}}
@media(min-width:650px) and (min-height:701px){#destinations{height:68px}.house svg{height:66px}.station-heading{margin-bottom:8px}.waiting{margin-top:18px}.lane button,.done-lane{height:115px}footer{padding:4px 22px}}
@media(max-height:450px) and (min-width:650px){main{padding:5px 20px;gap:2px 20px}header{height:38px}.topline{min-height:36px}#perches{min-height:78px;padding-top:4px}.perch{height:74px}.perch .bird{height:99px;width:99px}.station-heading{margin-bottom:3px}.station-heading h2{font-size:17px;margin-top:0}.queue-label{margin-bottom:4px;line-height:9px}#queue{min-height:35px;gap:3px}.parcel{height:24px;width:25px}.parcel.front{height:33px;width:34px}.parcel .symbol{height:20px;width:20px}.parcel.front .symbol{height:25px;width:25px}.station-foot{min-height:40px;font-size:10px}.station-foot button{min-height:40px;padding:4px 8px;font-size:10px}.waiting-label{font-size:7px}.lane button,.done-lane{height:82px}.lane button{width:90px}.lane-order{margin-top:5px}.lane-order span{width:23px;height:23px}.lane-note{font-size:8px}#message{font-size:10px;line-height:12px;min-height:12px;margin:0}}
