:root{--ease-out:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1);--shadow:0 5px 9px #526e3505,0 16px 40px #526e3510,0 1px 0 #fff inset}
body{background:#f5f8ee}.ambient{background:radial-gradient(ellipse at 5% 5%,#e0ecc4,transparent 45%),radial-gradient(ellipse at 90% 30%,#eaf0d372,transparent 48%),radial-gradient(ellipse at 50% 90%,#e4ecd785,transparent 50%)}#ambient-canvas{position:absolute;inset:0;width:100%;height:100%}.ambient>span{animation:leaf-sway 16s ease-in-out infinite alternate}.ambient>span:nth-child(2){animation-delay:-7s}.ambient>span:nth-child(3){animation-delay:-12s}
.site-header{box-shadow:0 5px 25px #536b3210;background:#fffefae6;position:relative;z-index:10}.brand img{box-shadow:0 3px 8px #4c633713;transition:transform .4s var(--spring),box-shadow .4s}.brand:hover img{transform:rotate(-8deg) scale(1.08);box-shadow:0 6px 16px #4c63372a}.nav-button,.icon-button{transition:background .25s,transform .3s var(--spring),box-shadow .25s}.nav-button:hover{transform:translateY(-2px)}.icon-button:hover{transform:rotate(-7deg) scale(1.08)}
.hero{box-shadow:0 10px 35px #798d3216,0 2px 0 #fff inset,0 -2px 0 #dbe7c880 inset;border-color:#cadbae;background:radial-gradient(ellipse at 78% 10%,#fffbd5b5,transparent 42%),linear-gradient(110deg,#fdfff8,#e7f1d4);min-height:260px}.hero:before{content:'';position:absolute;width:520px;height:220px;right:-115px;bottom:-155px;border-radius:50%;border:30px solid #bad48b18;box-shadow:0 0 0 35px #e1ebbf45,0 0 0 80px #bfd59312;pointer-events:none;z-index:-1}.hero h1>span{color:#53743f}.hero h1 svg path{stroke-dasharray:320;stroke-dashoffset:320;animation:title-stroke 1.3s .35s var(--ease-out) forwards}.hero-tags span{padding:4px 8px;border-radius:20px;background:#fffffa8c;border:1px solid #e0e9cd;box-shadow:0 3px 5px #52743d06}.hero-art>img{animation:mascot-float 5.5s ease-in-out infinite;filter:drop-shadow(0 18px 11px #70914720);transition:filter .4s}.hero-art:hover>img{filter:drop-shadow(0 22px 12px #70914730)}.art-orbit{background:radial-gradient(circle at 35% 30%,#f9ffc4a6,#dfeabc85);border:1px dashed #adc888;box-shadow:0 0 0 12px #e8f2d33d,0 0 0 26px #eff6e63d}.art-orbit:after{position:absolute;content:'✦';color:#d4b552;font-size:20px;right:-8px;top:45px;animation:twinkle 2.7s ease-in-out infinite}.art-ticket{box-shadow:0 6px 0 #d8e2c767,0 14px 22px #6a853d12;animation:ticket-float 6s ease-in-out infinite}.hero-cloud{position:absolute;width:65px;height:21px;border-radius:40px;background:#fffefa9c;box-shadow:0 4px 10px #728b3310;pointer-events:none}.hero-cloud:before,.hero-cloud:after{content:'';position:absolute;bottom:5px;border-radius:50%;background:#fffefacc;width:29px;height:29px;left:12px}.hero-cloud:after{width:22px;height:22px;left:35px}.cloud-one{right:31%;top:25px;animation:cloud-drift 12s ease-in-out infinite}.cloud-two{right:5%;bottom:28px;transform:scale(.7);animation:cloud-drift 15s -5s ease-in-out infinite}
.crew-panel{margin:0 0 28px;position:relative;background:linear-gradient(145deg,#fffefaee,#f7fbeaef);border:1px solid #d3dfc1;box-shadow:0 2px 0 #fff inset,0 14px 30px #566e3510}.crew-panel:after{content:'';position:absolute;top:0;left:23px;right:23px;height:3px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#b5ca88,#e8d694 50%,#d3e4b7)}.crew-heading h2{font-size:18px}.crew-icon{background:linear-gradient(140deg,#f3f8e5,#dce9bf);box-shadow:0 3px 0 #cfdebb,0 7px 12px #6d87421c;transform:rotate(-5deg)}.crew-card{background:linear-gradient(150deg,#fffefc,#fafcf4);border-color:#e0e6d6;box-shadow:0 3px 0 #e9eedec7,0 6px 14px #526e3306;transition:transform .4s var(--spring),box-shadow .4s,border-color .3s;position:relative}.crew-card:hover{transform:translateY(-4px);box-shadow:0 6px 0 #e2e9d6,0 13px 20px #5a783318}.crew-card.is-me{border-color:#b4cd91;background:linear-gradient(135deg,#fbfef5,#f0f6e4)}.crew-card.is-online .crew-avatar{box-shadow:0 0 0 4px #b9d78c1f}.crew-card.joined-now{animation:crew-arrive .7s var(--spring)}.crew-avatar{border:1px solid #e0e7d4;box-shadow:0 3px 5px #5c773c0a;transition:transform .4s var(--spring)}.crew-card:hover .crew-avatar{transform:rotate(-10deg) scale(1.08)}.status-dot:not(.offline){box-shadow:0 0 0 3px #a4c8761a;animation:online-pulse 2.7s ease-in-out infinite}
.map-panel,.passport-panel,.diary-panel,.operator-panel{background:linear-gradient(135deg,#fffffb,#fffdf7);border-color:#dbe4ce;box-shadow:var(--shadow)}.map-panel{box-shadow:0 3px 0 #e8efdc,0 12px 35px #576e3610,0 1px 0 #fff inset}.panel-heading{border-radius:22px 22px 0 0;background:linear-gradient(120deg,#f2f7e86e,transparent)}.map-stats{background:linear-gradient(130deg,#f8fcee,#f9faf2);box-shadow:0 1px 0 #fff inset,0 3px 0 #eaf0dd4d}.map-stat:first-child .stat-value{color:#638942}.map-stat:nth-child(2) .stat-value{color:#668467}.map-stat:nth-child(3) .stat-value{color:#6b7959}.map-stat{overflow:visible}.map-stat.feedback{animation:stat-lift .6s var(--spring)}.coin-change{position:absolute;right:14px;top:5px;z-index:4;font-size:14px;font-weight:700;color:#648b3c;text-shadow:0 1px 0 #fff;pointer-events:none;animation:coin-up 1.15s var(--ease-out) forwards}.coin-change.negative{color:#b47b45}.room-chip{box-shadow:0 2px 0 #e7efda;transition:transform .3s var(--spring),box-shadow .3s}.room-chip:hover{transform:translateY(-2px);box-shadow:0 4px 0 #e2edce}.route-lines #route-path{stroke:#a7c37d;stroke-width:2.5;animation:route-flow 14s linear infinite}.route-lines #return-path{animation:route-flow 28s linear infinite reverse}.tile{box-shadow:0 3px 0 #dce7c8,0 5px 7px #60823508;background:linear-gradient(145deg,#f4f9e9,#e7f0d7);border-color:#d0dfb9;transition:transform .35s var(--spring),box-shadow .35s,background .3s,border-color .3s;overflow:visible}.tile:nth-of-type(even){background:linear-gradient(150deg,#fffffa,#f9fbf0)}.tile.fate{background:linear-gradient(140deg,#fff7d9,#f5e7b8);border-color:#e8d694;box-shadow:0 3px 0 #e8d7a0,0 6px 8px #a486420a}.tile.station,.tile.jail{background:linear-gradient(140deg,#f9faf4,#e9efdf);box-shadow:0 3px 0 #d7dfc8}.tile.airport{background:linear-gradient(145deg,#7d9c5a,#5d7e46);box-shadow:0 4px 0 #496a34,0 7px 12px #526e3525;border-color:#6a8a4c}.tile:after{transition:transform .3s}.tile:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 6px 0 #d4e4ba,0 15px 18px #6580441b;z-index:3;border-color:#a9c481}.tile:hover .icon{transform:translateY(-2px) rotate(-7deg)}.tile .icon{transition:transform .35s var(--spring)}.tile.fate:hover{box-shadow:0 6px 0 #e6d19a,0 12px 18px #b1944820}.tile.current{box-shadow:0 0 0 2px #719547,0 4px 0 #c8dab0,0 0 0 5px #b8d79325}.tile.current:before{content:'';position:absolute;inset:-5px;border:1px solid #a9c77880;border-radius:15px;animation:location-halo 2.2s ease-out infinite;pointer-events:none}.tile.traversing{background:#faffdf;box-shadow:0 0 0 2px #9bc866,0 0 22px #b4d37780;z-index:4}.tile.arrived{animation:tile-land .7s var(--spring)}.tile.visited:after{background:#eef6df;width:14px;height:14px;border-radius:50%;line-height:14px;box-shadow:0 1px 2px #77965824}.pawn{width:48px;height:48px;top:-25px;filter:drop-shadow(0 5px 3px #4770202b)}.pawn img{animation:wool-bob 3s ease-in-out infinite}.map-postcard{box-shadow:2px 4px 0 #eeeccf,4px 9px 14px #7b843b0e;border-color:#e6e1b8;transition:transform .5s var(--spring)}.map-postcard:hover{transform:rotate(1deg) translateY(-3px)}.map-postcard>img{animation:postcard-sheep 7s ease-in-out infinite}.map-postcard:after{content:'';position:absolute;top:-7px;left:38%;width:57px;height:19px;transform:rotate(-6deg);background:#d7e7ad9c;border:1px solid #c9d69e4a;box-shadow:0 2px 2px #586c2310}.map-status{box-shadow:0 1px 0 #fff inset,0 3px 0 #e3eccf;background:linear-gradient(120deg,#edf6df,#f7fbee);transition:box-shadow .4s}.map-status.feedback{animation:status-pop .55s var(--spring)}
.operator-panel{background:linear-gradient(140deg,#fffffc,#f9fcf1);box-shadow:0 3px 0 #dde8cc,0 18px 45px #60764316,0 1px 0 #fff inset;isolation:isolate;overflow:hidden}.operator-panel:before{content:'';position:absolute;top:0;left:22px;right:22px;height:3px;background:linear-gradient(90deg,#bed791,#e7d78f,#b7d096);border-radius:0 0 4px 4px}.operator-icon{background:linear-gradient(145deg,#f8fced,#e0ecc4);box-shadow:0 3px 0 #cfdcba;transition:transform .4s var(--spring)}.operator-heading:hover .operator-icon{transform:rotate(-15deg)}.operator-state{background:linear-gradient(125deg,#f3f8e8,#edf5dc);box-shadow:0 1px 0 #fff inset,0 3px 0 #e5edda;border-color:#dce6cb}.effect-badge{animation:badge-enter .5s var(--spring);box-shadow:0 2px 0 #ead59c;font-weight:700}.input-shell{box-shadow:0 2px 3px #60753a06,0 1px 0 #fff inset;transition:box-shadow .25s,border-color .25s,transform .25s}.input-shell:focus-within{border-color:#b3cc8b;box-shadow:0 0 0 3px #c4da9f40,0 4px 8px #75984813;transform:translateY(-1px)}.rare-details{background:linear-gradient(120deg,#f8fbf0,#fcfdf7);transition:background .3s,box-shadow .3s}.rare-details[open]{box-shadow:0 5px 12px #66823f0b}.service-tools[open]{animation:details-enter .4s var(--ease-out)}.save-strip.saved{background:#f3f8e7;border-radius:8px;padding:10px 8px;margin-bottom:-5px;box-shadow:0 2px 0 #e5eecf}.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .35s var(--spring),box-shadow .3s,background .25s,border-color .25s}.button:before{content:'';position:absolute;inset:-70% auto -70% -65%;width:35%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#ffffff5c,transparent);pointer-events:none;transition:left .65s var(--ease-out);z-index:-1}.button:hover:not(:disabled):before{left:130%}.button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 4px 0 #dce7c9,0 8px 18px #48683216}.button:active:not(:disabled){transform:translateY(1px) scale(.97);box-shadow:0 1px 0 #dae4c9}.button.primary{background:linear-gradient(135deg,#709753,#557c40);border-color:#62894a;box-shadow:0 3px 0 #456b31,0 7px 15px #53763822,0 1px 0 #a9ca8780 inset;text-shadow:0 1px 1px #3d572b20}.button.primary:hover:not(:disabled){background:linear-gradient(130deg,#7a9f5a,#5b8245);box-shadow:0 5px 0 #456b31,0 12px 23px #5275392a}.pay-button{background:linear-gradient(135deg,#fff3d0,#f5e6b5);box-shadow:0 3px 0 #e4d396,0 6px 12px #957b3011;border-color:#e2d09a}
.dice-area{display:block;position:relative;border:1px solid #d9e4c3;border-radius:17px;padding:15px 14px 12px;margin:19px 0 23px;background:radial-gradient(ellipse at 20% 30%,#fffff0,transparent 70%),linear-gradient(130deg,#f7fbe9,#edf5d9);box-shadow:0 3px 0 #e0eace,0 8px 22px #6e8a3f0b,0 1px 0 #fff inset;transition:border-color .4s,box-shadow .4s,background .4s;overflow:hidden}.dice-area:before{content:'';position:absolute;width:160px;height:160px;top:-80px;right:-60px;border-radius:50%;border:14px solid #c8dba32b;pointer-events:none}.dice-area[data-mode='ready']{border-color:#accb7d;background:radial-gradient(ellipse at 20% 25%,#ffffe9,transparent 70%),linear-gradient(135deg,#f5fce8,#e2f0c8);box-shadow:0 3px 0 #ccdfa8,0 10px 24px #88a55920,0 0 0 3px #cde6a333}.dice-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;position:relative;font-size:8px;letter-spacing:.65px;color:#8fa46c}.dice-caption b{padding:3px 6px;background:#ffffffb3;border:1px solid #dbe5c9;border-radius:6px;font-size:8px;font-weight:400;letter-spacing:0;color:#7b9163}.dice-area[data-mode='ready'] .dice-caption b{color:#648640;background:#f4fbdc;border-color:#bad790}.dice-stage{display:flex;align-items:center;gap:6px;padding:10px 0 7px;min-height:130px}.dice-stage .dice-button{position:relative;width:102px;height:116px;perspective:600px;display:flex;justify-content:center;align-items:center;padding:0;flex-shrink:0;outline-offset:3px;border-radius:16px}.dice-stage .dice-button:disabled{opacity:1}.dice-ground{position:absolute;width:62px;height:12px;left:20px;bottom:13px;background:#71954227;border-radius:50%;filter:blur(3px);animation:die-shadow 3s ease-in-out infinite}.dice-stage .die{--die-size:64px;display:block;position:relative;width:var(--die-size);height:var(--die-size);padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;transform-style:preserve-3d;transform:rotateX(-16deg) rotateY(-24deg);transition:transform .75s var(--spring);margin-top:-10px;flex-shrink:0}.dice-face{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;padding:11px;border-radius:11px;border:1.5px solid #ccdba9;backface-visibility:hidden;background:linear-gradient(140deg,#fffffb,#eef3df);box-shadow:inset 0 1px 2px #fff,inset 0 -3px 4px #d6e4bc70}.face-front{transform:translateZ(calc(var(--die-size)/2))}.face-back{transform:rotateY(180deg) translateZ(calc(var(--die-size)/2));background:linear-gradient(140deg,#edf3df,#e2ebce)}.face-right{transform:rotateY(90deg) translateZ(calc(var(--die-size)/2));background:linear-gradient(140deg,#ebf2d9,#dfe8c7)}.face-left{transform:rotateY(-90deg) translateZ(calc(var(--die-size)/2));background:linear-gradient(140deg,#f7faee,#e6edda)}.face-top{transform:rotateX(90deg) translateZ(calc(var(--die-size)/2));background:linear-gradient(140deg,#fffefa,#f8fbed)}.face-bottom{transform:rotateX(-90deg) translateZ(calc(var(--die-size)/2));background:#dce9c7}.dice-face i{width:8px;height:8px;background:#70934c;box-shadow:0 1px 0 #fff,0 1px 2px #4d6d3540 inset}.dice-face i:nth-child(1){grid-area:1/1}.dice-face i:nth-child(2){grid-area:1/3}.dice-face i:nth-child(3){grid-area:2/1}.dice-face i:nth-child(4){grid-area:2/2}.dice-face i:nth-child(5){grid-area:2/3}.dice-face i:nth-child(6){grid-area:3/1}.dice-face i:nth-child(7){grid-area:3/3}
.dice-face[data-pips='1'] i:nth-child(4),.dice-face[data-pips='2'] i:nth-child(1),.dice-face[data-pips='2'] i:nth-child(7),.dice-face[data-pips='3'] i:nth-child(1),.dice-face[data-pips='3'] i:nth-child(4),.dice-face[data-pips='3'] i:nth-child(7),.dice-face[data-pips='4'] i:nth-child(1),.dice-face[data-pips='4'] i:nth-child(2),.dice-face[data-pips='4'] i:nth-child(6),.dice-face[data-pips='4'] i:nth-child(7),.dice-face[data-pips='5'] i:nth-child(1),.dice-face[data-pips='5'] i:nth-child(2),.dice-face[data-pips='5'] i:nth-child(4),.dice-face[data-pips='5'] i:nth-child(6),.dice-face[data-pips='5'] i:nth-child(7),.dice-face[data-pips='6'] i:not(:nth-child(4)){opacity:1}
.die[data-value='2']{transform:rotateX(-16deg) rotateY(-114deg)}.die[data-value='3']{transform:rotateX(-106deg) rotateY(-24deg)}.die[data-value='4']{transform:rotateX(74deg) rotateY(-24deg)}.die[data-value='5']{transform:rotateX(-16deg) rotateY(66deg)}.die[data-value='6']{transform:rotateX(-16deg) rotateY(156deg)}.dice-button:hover:not(:disabled){transform:translateY(-4px);transition:transform .35s var(--spring)}.dice-button:hover:not(:disabled) .dice-ground{background:#85a95742}.dice-button.rolling .die{animation:dice-tumble .6s linear infinite}.dice-button.rolling .dice-ground{animation:shadow-shake .3s ease-in-out infinite alternate}.dice-twinkle{position:absolute;color:#bfce8a;animation:twinkle 2.4s ease-in-out infinite;font-size:19px;pointer-events:none}.twinkle-one{left:3px;top:17px;animation-delay:-1s}.twinkle-two{right:0;bottom:21px;font-size:15px}.dice-area[data-mode='locked'] .dice-twinkle{opacity:.3;animation:none}.dice-copy{min-width:0;flex:1;position:relative}.dice-copy strong{font-size:12px;line-height:1.5;color:#50723b}.dice-copy p{font-size:10px;line-height:1.7;color:#829466;margin-top:5px}.dice-result{display:inline-block;font-size:9px;color:#799858;margin-top:8px;padding:3px 7px;background:#fffff9ba;border-radius:6px;border:1px solid #e0e9cc;font-variant-numeric:tabular-nums}.dice-area .roll-cta{width:100%;min-height:43px;display:flex;font-size:13px;padding:11px 10px;border-radius:11px;gap:8px}.roll-cta>span:last-child{margin-left:auto}.roll-cta>span:first-child{margin-right:auto}.roll-cta:disabled{opacity:1;background:linear-gradient(135deg,#e8eddd,#e1e8d5);border-color:#d3dec1;color:#81916d;box-shadow:0 2px 0 #d5dec7;text-shadow:none}.dice-area[data-mode='ready'] .roll-cta{animation:ready-glow 2.8s ease-in-out infinite}.dice-area[data-mode='rolling'] .roll-cta{background:#a3bb7c;color:#fff}.dice-area .roll-requirement{font-size:9px;text-align:center;margin:9px 0 0;color:#869771;line-height:1.6}.dice-area.dice-reveal .die{animation:dice-reveal .65s var(--spring)}
.passport-panel{box-shadow:0 4px 0 #e3ebd4,0 10px 24px #68813e0d}.passport-panel:before{content:'';position:absolute;right:11px;bottom:12px;width:95px;height:95px;opacity:.1;border:2px double #98af6b;border-radius:50%;pointer-events:none}.stamp{background:linear-gradient(140deg,#fffffa,#f4f7ec);box-shadow:inset 0 1px 3px #91a56108;transition:transform .4s var(--spring),box-shadow .4s}.stamp:hover{transform:rotate(-7deg) scale(1.07)}.stamp.received{background:radial-gradient(circle,#fbffe9,#edf5d8);border-color:#91ad67;box-shadow:inset 0 0 0 3px #fffef9,0 3px 5px #6b8f3014}.stamp.fresh{animation:stamp-press .7s var(--spring)}.progress-track{height:7px;border:1px solid #e2e9d5;box-shadow:inset 0 1px 2px #62773610}.progress-track>span{background:linear-gradient(90deg,#b3ce83,#8aaf5e);box-shadow:0 0 9px #a5c87360;position:relative;transition:width .85s var(--ease-out)}.progress-track>span:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent,#ffffff78,transparent);animation:progress-shine 3s ease-in-out infinite}.diary-panel{box-shadow:0 7px 25px #586f3009;background:#fffefade}.diary-list li{transition:background .3s}.diary-list li:hover{background:#f6faed}.diary-list li.new-entry{animation:diary-enter .5s var(--ease-out)}.diary-list time{padding:2px 5px;background:#f0f5e5;border-radius:5px;color:#879972}
.trip-plans{margin:29px 0 5px;padding:23px 25px 24px;border-radius:22px;background:linear-gradient(140deg,#fffefadc,#f6faed);border:1px solid #d9e4c9;box-shadow:0 3px 0 #e8efdc,0 9px 28px #647a3310;scroll-margin-top:25px}.trip-plans>.section-caption{margin-bottom:15px;font-size:16px}.trip-plans>.section-caption small{font-size:10px}.plan-card{background:linear-gradient(140deg,#fffefa,#fafcf4);border:1px solid #dbe3cd;border-radius:12px;box-shadow:0 3px 0 #e5ebd7,0 8px 15px #637f3907;position:relative;overflow:hidden;transition:transform .4s var(--spring),box-shadow .35s,border-color .3s,background .3s;min-height:92px}.plan-card:before,.plan-card:after{content:'';position:absolute;width:12px;height:12px;top:50%;transform:translateY(-50%);left:-7px;background:#f6faed;border:1px solid #dbe3cd;border-radius:50%}.plan-card:after{left:auto;right:-7px}.plan-card:hover:not(:disabled){transform:translateY(-5px) rotate(-.5deg);box-shadow:0 6px 0 #dce8c8,0 15px 22px #63854017}.plan-card.selected{background:linear-gradient(120deg,#f3f9e5,#e5f1cf);border-color:#9abb70;box-shadow:0 3px 0 #caddad,0 10px 20px #799b4420}.plan-card.selected:before,.plan-card.selected:after{border-color:#9abb70}.plan-mark{background:#fcfff5;box-shadow:0 2px 0 #dde8c8}.site-footer{padding-top:31px;border-top:1px dashed #d3dec2;margin-top:25px}
.modal,.poster-modal{box-shadow:0 6px 0 #dce6c580,0 25px 95px #34473145,0 1px 0 #fff inset;background:linear-gradient(135deg,#fffefa,#f9fcf1);border-color:#cbdcaa}.modal[open],.poster-modal[open]{animation:modal-rise .45s var(--spring)}.modal::backdrop,.poster-modal::backdrop{animation:backdrop-in .35s ease-out;background:#2b402a66;backdrop-filter:blur(12px)}.modal-heading{position:relative}.modal-heading:after{content:'';position:absolute;left:0;bottom:-9px;width:30px;height:2px;background:#c5dba0;border-radius:4px}.modal-view-enter{animation:details-enter .4s var(--ease-out)}.invite-card{background:linear-gradient(140deg,#fffefb,#fbfdf4);box-shadow:0 3px 0 #e8efdc;transition:transform .35s var(--spring),box-shadow .35s}.invite-card:hover{transform:translateY(-3px);box-shadow:0 5px 0 #dfeacf,0 8px 18px #69834013}.room-ticket,.share-ticket{box-shadow:0 3px 0 #e2ebd3;background:linear-gradient(135deg,#f6faeb,#e9f2d8)}.toast{box-shadow:0 5px 0 #314a2c,0 12px 30px #34483125;border-color:#789c53;background:linear-gradient(140deg,#73934e,#537639);transition:opacity .25s,transform .45s var(--spring)}
#interaction-fx{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}.fx-mote{position:absolute;border-radius:3px;background:#c5d78d;width:6px;height:9px;pointer-events:none;box-shadow:0 1px 3px #6c8b321a}.fx-mote:nth-child(3n){border-radius:50%;background:#ead39b}.fx-mote:nth-child(3n+1){background:#d2e8a0}.click-wave{position:absolute;width:20px;height:20px;margin:-10px;border:1px solid #a3c970;border-radius:50%;animation:click-wave .65s var(--ease-out) forwards}.button-ripple{position:absolute;width:18px;height:18px;margin:-9px;border-radius:50%;background:#fff8;pointer-events:none;animation:button-ripple .6s var(--ease-out) forwards;z-index:1}.reveal-enter{animation:panel-arrive .8s var(--ease-out) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes panel-arrive{from{opacity:.1;transform:translateY(24px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-rise{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}@keyframes details-enter{from{opacity:.2;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes title-stroke{to{stroke-dashoffset:0}}@keyframes mascot-float{0%,100%{transform:translateY(0) rotate(3deg)}35%{transform:translateY(-11px) rotate(-2deg)}70%{transform:translateY(-4px) rotate(5deg)}}@keyframes ticket-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-4px) rotate(-1deg)}}@keyframes cloud-drift{0%,100%{translate:0 0}50%{translate:17px -3px}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.7) rotate(-15deg)}50%{opacity:1;transform:scale(1.15) rotate(15deg)}}@keyframes leaf-sway{from{translate:0 0;rotate:-8deg}to{translate:12px -14px;rotate:8deg}}@keyframes wool-bob{0%,100%{translate:0 0;rotate:-3deg}50%{translate:0 -3px;rotate:3deg}}@keyframes postcard-sheep{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-5px) rotate(0)}}@keyframes location-halo{0%{scale:.98;opacity:.75}100%{scale:1.13;opacity:0}}@keyframes route-flow{to{stroke-dashoffset:-120}}@keyframes online-pulse{0%,100%{box-shadow:0 0 0 3px #a4c8761a}50%{box-shadow:0 0 0 5px #a4c87633}}@keyframes crew-arrive{from{opacity:.2;transform:translateY(7px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tile-land{0%,100%{transform:translateY(0)}35%{transform:translateY(-5px) scale(1.06)}70%{transform:translateY(2px) scale(.98)}}@keyframes stat-lift{0%,100%{transform:translateY(0)}40%{transform:translateY(-3px)}}@keyframes coin-up{0%{opacity:0;transform:translateY(8px) scale(.7)}25%{opacity:1;transform:translateY(-8px) scale(1.1)}100%{opacity:0;transform:translateY(-35px) scale(.95)}}@keyframes status-pop{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes badge-enter{from{opacity:.1;transform:scale(.75) rotate(-4deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes die-shadow{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(.8);opacity:.4}}@keyframes shadow-shake{from{transform:scale(.7);opacity:.3}to{transform:scale(1.1);opacity:.7}}@keyframes dice-tumble{0%{transform:translateY(-3px) rotateX(-16deg) rotateY(-24deg)}25%{transform:translateY(-12px) rotateX(74deg) rotateY(156deg)}50%{transform:translateY(-6px) rotateX(164deg) rotateY(336deg)}75%{transform:translateY(-14px) rotateX(254deg) rotateY(516deg)}100%{transform:translateY(-3px) rotateX(344deg) rotateY(696deg)}}@keyframes dice-reveal{0%{scale:.8;translate:0 -5px}50%{scale:1.12;translate:0 2px}100%{scale:1;translate:0 0}}@keyframes ready-glow{0%,100%{box-shadow:0 3px 0 #456b31,0 5px 12px #70954325}50%{box-shadow:0 3px 0 #456b31,0 7px 22px #83aa4e4a}}@keyframes stamp-press{0%{opacity:0;transform:rotate(var(--tilt)) scale(1.5)}40%{opacity:1;transform:rotate(var(--tilt)) scale(.92)}75%{transform:rotate(var(--tilt)) scale(1.04)}100%{transform:rotate(var(--tilt)) scale(1)}}@keyframes progress-shine{0%{translate:-100% 0}75%,100%{translate:100% 0}}@keyframes diary-enter{from{opacity:0;translate:-8px 0}to{opacity:1;translate:0 0}}@keyframes click-wave{from{opacity:.7;transform:scale(.3)}to{opacity:0;transform:scale(5)}}@keyframes button-ripple{from{opacity:.55;transform:scale(.5)}to{opacity:0;transform:scale(22)}}
.tile.city{gap:3px;padding-top:13px}.tile-photo{display:block;width:calc(100% - 10px);height:34px;flex-shrink:0;overflow:hidden;border-radius:6px;background:#edf3df;box-shadow:0 1px 0 #fff9,0 2px 4px #526c3014}.tile-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.tile.city:hover .tile-photo img{transform:scale(1.12)}.tile.city .tile-number{z-index:1}.stamp.received{position:relative;isolation:isolate;overflow:hidden;background:#fffef9;color:var(--forest);text-shadow:0 1px 3px #ffffffe0}.stamp-photo{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);object-fit:cover;border-radius:50%;opacity:.24;pointer-events:none;z-index:-1}.stamp.received b,.stamp.received small{position:relative}.stamp.received b{font-size:12px}.stamp.received small{font-size:9px}.scenery-preview{margin:0 0 20px;border:1px solid #dce5ce;border-radius:13px;overflow:hidden;background:#f4f7ec}.scenery-preview img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.scenery-preview figcaption{padding:9px 13px;color:var(--muted);font-size:11px}.photo-credit{font-size:10px;line-height:1.8;color:var(--muted);margin:20px 0 0;padding-top:12px;border-top:1px solid var(--border);overflow-wrap:anywhere}.photo-credit a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}.no-motion .tile-photo img{transition:none}@media(prefers-reduced-motion:reduce){.tile-photo img{transition:none}}@media(max-width:1100px) and (min-width:761px){.tile-photo{width:calc(100% - 6px);height:27px}.tile.city{gap:2px;padding-top:12px}}@media(max-width:760px){.tile-photo{height:31px;width:calc(100% - 12px)}.stamp.received b{font-size:11px}.stamp.received small{font-size:9px}}
@media(max-width:1100px){.dice-area{padding:13px 10px 11px}.dice-stage .dice-button{width:86px;height:106px}.dice-stage .die{--die-size:57px}.dice-face{padding:10px;gap:4px}.dice-face i{width:7px;height:7px}.dice-ground{width:56px;left:16px}.dice-copy strong{font-size:11px}.dice-caption{font-size:7px;letter-spacing:.2px}.dice-copy p{font-size:9px}.dice-result{font-size:8px}.dice-stage{min-height:117px}}
@media(max-width:760px){.hero{min-height:223px}.cloud-one{right:40%;top:18px;scale:.7}.cloud-two{display:none}.hero-tags span{padding:2px 4px;font-size:8px}.crew-panel{margin:0 0 22px}.crew-heading h2{font-size:16px}.crew-panel:after{left:20px;right:20px}.crew-card{box-shadow:0 3px 0 #e4ecd7}.crew-card b{font-size:12px}.crew-me{font-size:8px}.dice-area{padding:17px 17px 13px;margin:22px 0 26px}.dice-caption{font-size:9px;letter-spacing:.6px}.dice-caption b{font-size:9px}.dice-stage{padding:12px 0 8px;min-height:148px;gap:15px}.dice-stage .dice-button{width:120px;height:131px}.dice-stage .die{--die-size:76px;margin-top:-9px}.dice-face{border-radius:13px;padding:14px;gap:6px}.dice-face i{width:9px;height:9px}.dice-ground{left:25px;width:73px;bottom:13px}.dice-copy strong{font-size:14px}.dice-copy p{font-size:11px}.dice-result{font-size:10px}.dice-area .roll-cta{min-height:48px;font-size:14px}.dice-area .roll-requirement{font-size:10px;margin-top:12px}.dice-twinkle{font-size:23px}.twinkle-one{left:4px;top:22px}.twinkle-two{right:0;bottom:23px;font-size:18px}.trip-plans{margin:23px 0 0;padding:21px 18px}.trip-plans>.section-caption{font-size:15px;align-items:flex-start}.trip-plans>.section-caption small{font-size:9px}.plan-list{gap:9px}.plan-card{min-height:108px;padding:12px 8px}.plan-description{font-size:8px;line-height:1.8}.plan-price{font-size:24px}.plan-name{font-size:10px}.tile:hover{transform:translateY(-2px) scale(1.02)}.tile.current:before{inset:-4px}.map-panel{box-shadow:0 3px 0 #e2ebd3,0 10px 26px #647b3912}.site-footer{margin-top:22px}.operator-panel{box-shadow:0 4px 0 #dce8c7,0 14px 35px #647b3914}.progress-track{height:7px}}
@media(max-width:390px){.hero-tags span{padding:2px 3px;font-size:7px}.crew-heading h2{font-size:14px}.crew-heading p{max-width:178px}.dice-area{padding:16px 14px 13px}.dice-stage{gap:10px}.dice-stage .dice-button{width:105px}.dice-stage .die{--die-size:69px}.dice-face{padding:12px;gap:5px}.dice-face i{width:8px;height:8px}.dice-copy strong{font-size:13px}.dice-copy p{font-size:10px}.dice-ground{width:65px;left:20px}.dice-caption{font-size:8px}.plan-list{gap:7px}.plan-card{padding:10px 7px}.plan-description{font-size:7px}.trip-plans{padding:20px 15px}.trip-plans>.section-caption{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#ambient-canvas,#interaction-fx{display:none}}
.no-motion #ambient-canvas,.no-motion #interaction-fx{display:none}.no-motion .hero h1 svg path{stroke-dashoffset:0}.no-motion .dice-ground{filter:none}.photo-sources{color:var(--muted);font-size:9px;text-underline-offset:3px;margin-left:5px}
.scenery-preview{position:relative}.scenery-preview canvas{position:absolute;top:0;left:0;display:block;width:100%;height:auto;aspect-ratio:3/2;pointer-events:none}
