:root{font-family:Georgia,'Times New Roman',serif;color:#35574f;background:#b7d4ca;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #749485;border-radius:10px;background:#fff3d4;padding:10px 14px;transition:background .12s,transform .12s;touch-action:manipulation}button:hover{background:#fff9e9;transform:translateY(-1px)}button:focus-visible{outline:3px solid #d09b4b;outline-offset:3px}button:active{transform:translateY(1px)}[hidden]{display:none!important}#shell{position:relative;width:100vw;height:100dvh;min-height:440px;overflow:hidden}#game{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}header{position:absolute;top:20px;left:28px;right:28px;display:flex;align-items:center;gap:20px;pointer-events:none}.brand{display:flex;align-items:center;gap:12px}.crest{border:1px solid #4e7867;border-radius:50%;width:50px;height:50px;text-align:center;font-size:32px;line-height:48px;background:#f6e6bd}h1{font-size:27px;letter-spacing:-1px;margin:0;font-weight:normal}header p{font-size:12px;margin:4px 0;letter-spacing:.4px}.day{display:flex;flex-direction:column;gap:4px;margin-left:auto;text-align:right;font-size:13px}.day b{font-size:16px;font-weight:normal}#invite{pointer-events:auto;background:#f5e5becc;font-size:12px}#stage{position:absolute;left:30px;top:111px;max-width:260px;pointer-events:none;text-shadow:0 1px 8px #d8e6d7}#station-number{font:10px sans-serif;letter-spacing:2px}h2{font-size:28px;font-weight:normal;margin:7px 0 10px;letter-spacing:-.8px}#station-hint{font-size:14px;line-height:1.5;margin:0;max-width:235px}#clipboard{position:absolute;right:28px;top:126px;width:214px;min-height:174px;padding:20px 18px 13px;background:#fff3d8f2;border:7px solid #b38c66;border-radius:4px;box-shadow:0 4px 20px #2c493525;transform:rotate(1.5deg)}.clip{position:absolute;top:-15px;left:67px;width:52px;height:17px;border:4px solid #668178;border-radius:3px;background:#a4b5a1}#parcel-caption{font:9px sans-serif;letter-spacing:1.7px;text-transform:uppercase;margin:2px 0 11px}#recipient{font-size:23px;font-weight:normal}#address{font-size:13px;margin:5px 0 12px}.rule{height:1px;background:#b7ad8a;margin-bottom:11px}#weight-row,#postage-row{font:12px sans-serif;line-height:1.7}#care-row{font-size:13px;padding:7px 0;margin:5px 0;line-height:1.35}#stamps{color:#b46656;font-size:20px;letter-spacing:7px}#return{font:10px sans-serif;padding:7px 4px;width:100%;background:transparent;margin-top:9px;border-color:#bcae8a}#tooltip{position:absolute;left:50%;bottom:167px;transform:translateX(-50%);background:#345b51ed;color:#fff5d5;padding:8px 14px;border-radius:18px;font-size:13px;pointer-events:none;white-space:nowrap}#tooltip:empty{display:none}footer{position:absolute;left:25px;right:25px;bottom:14px}#notice{max-width:740px;margin:0 auto 10px;padding:10px 18px;border:1px solid #afba99;background:#ffefd7ed;border-radius:12px;font-size:14px;line-height:1.35;text-align:center;min-height:39px;box-shadow:0 2px 12px #344e4011}nav{display:flex;justify-content:center;gap:5px}nav button{display:flex;align-items:center;gap:9px;background:#ecdfbeed;border:1px solid #b0b59b;padding:12px 20px;border-radius:7px;min-height:48px;font-size:14px}nav button small{font:10px sans-serif;opacity:.5}nav button.selected{background:#3e796e;color:#fff2d1;border-color:#3e796e}nav button i{font-style:normal;font-size:21px}.footer-info{display:flex;justify-content:space-between;font:10px sans-serif;letter-spacing:.1px;margin:9px 4px 0;color:#3d6559}#save:empty{display:none}#connection{position:absolute;top:83px;left:50%;transform:translateX(-50%);z-index:4;background:#fff0ca;padding:9px;border-radius:12px;font-size:12px}#connection button{margin-left:15px;padding:5px 10px}#result{position:absolute;inset:0;background:#234b4977;backdrop-filter:blur(6px);display:grid;place-items:center;z-index:5}#result article{position:relative;width:min(470px,90vw);background:#fff1d2;text-align:center;border:1px solid #f9f1d7;border-radius:8px;padding:30px;box-shadow:0 20px 80px #21423566}#result h2{font-size:34px;margin:8px 0 15px}#result p{font-size:15px;line-height:1.6}#result-kicker{letter-spacing:3px;font:10px sans-serif!important}#result-stats{font-size:13px}.result-buttons{display:flex;gap:10px;justify-content:center;margin-top:25px}#next{background:#3f7e70;color:#fff0d0}.postcard{height:122px;border:7px solid #d4b283;margin:0 70px 24px;background:linear-gradient(#698b9d 65%,#91b5ae 66%);position:relative;color:#f9e8b1;overflow:hidden}.postcard>span{font-size:58px;position:absolute;left:30px;top:4px}.postmark{position:absolute;right:1px;top:2px;border:2px dotted #e6d1a8;border-radius:50%;width:45px;height:45px;line-height:41px;font-size:9px;transform:rotate(15deg)}.waves{position:absolute;bottom:-4px;left:4px;letter-spacing:5px}@media(max-width:850px){#stage{top:100px;max-width:170px}#stage h2{font-size:23px}#station-hint{font-size:12px}#clipboard{right:18px;width:175px;padding:18px 12px 10px;top:103px}nav button{padding:11px 12px;font-size:12px}header{left:20px;right:20px}.brand h1{font-size:25px}}@media(max-width:600px){header{top:13px;left:16px;right:16px;gap:7px}.crest{width:34px;height:34px;line-height:31px;font-size:24px}.brand{gap:7px}.brand h1{font-size:23px}.brand p{display:none}.day{font-size:10px}.day b{font-size:12px}#invite{font-size:0;padding:7px;width:31px;height:31px}#invite:after{content:'+';font-size:19px}#stage{top:72px;left:18px;max-width:none}#station-number{font-size:8px}#stage h2{font-size:23px;margin:4px 0}#station-hint{font-size:11px;max-width:215px}#clipboard{top:auto;bottom:151px;right:15px;left:15px;width:auto;min-height:90px;padding:10px 13px 9px 120px;border-width:4px;transform:none;background:#fff3d8ed}.clip{left:39px;width:41px;height:13px;top:-11px}#parcel-caption{position:absolute;left:12px;top:13px;font-size:8px;margin:0;max-width:94px}#recipient{position:absolute;left:12px;top:30px;font-size:21px}#address{position:absolute;left:12px;top:57px;font-size:10px;margin:0;width:103px}#clipboard .rule{display:none}#weight-row,#postage-row{font-size:10px;line-height:1.7}#care-row{font-size:10px;margin:0;padding:3px 0;max-width:180px}#stamps{display:none}#return{width:auto;position:absolute;right:8px;top:6px;font-size:0;padding:4px;width:25px;border:0}#return:after{content:'↩';font-size:18px}footer{left:10px;right:10px;bottom:9px}#notice{font-size:11px;padding:8px 11px;margin-bottom:8px;min-height:46px}nav{gap:3px}nav button{flex:1;justify-content:center;flex-direction:column;gap:2px;font-size:9px;padding:5px 2px;min-height:48px;border-radius:6px;white-space:nowrap}nav button small{display:none}nav button i{font-size:17px}.footer-info{font-size:8px;margin:6px 3px 0}#controls{display:none}#tooltip{bottom:266px;font-size:11px;max-width:95vw;white-space:normal;text-align:center}#result article{padding:24px 18px}#result h2{font-size:28px}.postcard{margin:0 55px 18px}#connection{top:62px;min-width:250px}}@media(max-height:650px) and (min-width:601px){#stage{top:85px}#clipboard{top:90px;transform:scale(.85);transform-origin:top right}footer{bottom:8px}#notice{padding:7px 12px;font-size:12px}nav button{min-height:39px;padding:7px 16px}}

@media(max-width:600px){#stage{top:63px}#stage h2{font-size:20px;margin:3px 0}#station-hint{font-size:10px;max-width:230px;line-height:1.45}#station-number{display:none}#clipboard{bottom:144px}nav button{font-family:inherit;font-size:10px}#notice{min-height:41px}}

:root{font-family:"Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif}h1,#result h2{font-family:Georgia,"Apple SD Gothic Neo",serif}#notice{line-height:1.5}#station-hint{line-height:1.5}

/* Paper HUD plates keep instructions legible against wood and dusk. */
.brand,.day{background:#fff1dbe8;border:1px solid #cab18c;border-radius:9px;padding:7px 11px;box-shadow:0 2px 9px #26392c12}.day{gap:3px;min-width:112px}#stage{padding:10px 13px;background:#fff1dbee;border:1px solid #cab18c;border-left:3px solid #668477;border-radius:4px 9px 9px 4px;text-shadow:none}.footer-info>span{background:#fff1dbe8;padding:3px 6px;border-radius:4px}
@media(max-width:600px){header{left:10px;right:10px;gap:5px}.brand{padding:5px 7px;gap:5px}.brand h1{font-size:21px}.crest{width:28px;height:28px;line-height:25px;font-size:20px}.day{padding:5px 7px;min-width:83px}#stage{top:68px;left:12px;padding:7px 10px;max-width:240px}#stage h2{font-size:18px}.footer-info>span{padding:2px 4px}}
