:root{--paper:#f5f3e9;--ink:#22261e;--yellow:#ede94c;--line:#d9dacd;--muted:#666b5e;--white:#fffef8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:46px;border:0;border-radius:8px;font-weight:700}button:disabled{opacity:.4;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #648125;outline-offset:4px}input:focus{outline:3px solid #648125;outline-offset:2px}.shell{max-width:1100px;margin:auto;padding:0 40px}header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:30px;font-weight:900;letter-spacing:-1.6px}.brand img{height:56px;width:39px;object-fit:contain}.brand-sub{display:block;font-size:8px;letter-spacing:1.65px;margin-top:3px}.status{font-size:11px;font-weight:700;padding:10px 13px;border:1px solid var(--line);border-radius:30px}.status.ready:before{content:'●';color:#56702e;margin-right:7px}.hero{display:grid;grid-template-columns:1fr 280px;align-items:center;padding:54px 0 38px;gap:30px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;margin:0 0 12px}.hero h1{font-size:clamp(42px,5.5vw,66px);line-height:1.02;letter-spacing:-3px;margin:16px 0 21px;font-weight:900}.hero h1 span{position:relative;isolation:isolate}.hero h1 span:after{content:'';position:absolute;background:var(--yellow);height:17px;bottom:4px;left:0;right:0;z-index:-1;transform:rotate(-2deg)}.intro{color:var(--muted);font-size:15px}.course{display:flex;align-items:center;gap:15px;font-size:11px;margin-top:30px;flex-wrap:wrap}.course strong{letter-spacing:1px}.course>span{border-left:1px solid #aaa;padding-left:15px}.course a{color:var(--muted);text-underline-offset:3px}.hero-art{height:265px;position:relative;display:flex;justify-content:center;align-items:center}.hero-art:before{content:'';position:absolute;width:230px;height:230px;background:var(--yellow);border-radius:50%}.hero-art img{height:218px;z-index:1;transform:rotate(9deg)}.orbit{position:absolute;border:1px solid #777e4e;border-radius:50%;width:280px;height:105px;transform:rotate(-27deg)}.orbit-two{transform:rotate(36deg);width:265px;height:165px}.art-label{position:absolute;z-index:2;bottom:8px;right:0;font-size:10px;font-weight:900;letter-spacing:1px;transform:rotate(-8deg);background:var(--paper);padding:8px}.disc{position:absolute;left:0;top:21px;font-size:45px}.round{border-top:1px solid var(--line);padding:27px 0 30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px}h2{font-size:23px;letter-spacing:-.7px;margin:0}.text-button{background:none;color:var(--muted);font-size:12px;padding:0 3px}.dark-button{background:var(--ink);color:var(--white);padding:0 22px}.outline-button{background:transparent;border:1px solid var(--line);padding:0 18px}#add-player{display:flex;align-items:center;gap:10px}#initials{height:48px;width:96px;border:1px solid var(--line);border-radius:8px;background:var(--white);text-align:center;letter-spacing:5px;font-weight:800;text-transform:uppercase;font-size:19px}#player-help{font-size:12px;color:var(--muted);margin-left:7px}.message{font-size:13px;color:#8b3b24;min-height:0;margin:8px 0}.message:empty{display:none}.crew{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.crew:empty{margin:0}.chip{display:flex;align-items:center;gap:9px;background:#e8e9dc;border-radius:30px;padding:0 5px 0 14px;font-size:12px;font-weight:800;letter-spacing:1px}.chip button{background:none;min-height:36px;width:36px;font-size:18px;color:var(--muted)}.play{padding:12px 0 28px}.muted{font-size:12px;color:var(--muted)}.holes{display:grid;grid-template-columns:repeat(9,1fr);gap:7px;margin-bottom:14px}.hole-tab{background:transparent;border:1px solid var(--line);min-height:55px;position:relative;font-size:16px}.hole-tab.active{background:var(--ink);color:white;border-color:var(--ink)}.hole-tab.complete:after{content:'';position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;background:#698432;border-radius:50%}.hole-tab.active.complete:after{background:var(--yellow)}.hole-panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:27px}.hole-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}h3{font-size:29px;letter-spacing:-1px;margin:8px 0 0;display:flex;gap:8px;align-items:center}.par-tag{font-size:10px;letter-spacing:1px;background:var(--yellow);border-radius:5px;padding:7px 9px;margin-left:8px}.hole-note{font-size:12px;line-height:1.6;color:var(--muted)}.empty{padding:35px 0;text-align:center;color:var(--muted);font-size:14px;line-height:1.7}.score-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.player-label{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;background:#e9ecdc;display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:1px}.player-name{font-weight:800;font-size:15px;letter-spacing:1px}.relative{display:block;font-size:11px;color:var(--muted);margin-top:4px;letter-spacing:0;font-weight:400}.stepper{display:flex;gap:7px;align-items:center}.stepper button{width:44px;background:#efefe5;font-size:23px;font-weight:400}.score-input{width:56px;height:46px;text-align:center;background:white;border:1px solid var(--line);border-radius:7px;font-size:22px;font-weight:800;appearance:textfield}.score-input::-webkit-inner-spin-button{appearance:none}.hole-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:23px}.finish{padding:26px 28px;background:var(--ink);color:var(--paper);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:25px}.finish h2{font-size:22px}.finish p:last-child{font-size:12px;color:#bec2b3;margin-bottom:0}.finish .eyebrow{color:var(--yellow)}.yellow-button{background:var(--yellow);color:var(--ink);min-width:168px;padding:0 19px;height:54px;display:flex;justify-content:space-between;align-items:center;gap:25px}.yellow-button span{font-size:22px}.results{padding:28px;border:1px solid var(--line);border-radius:12px;background:#eeefcf;margin-top:16px;scroll-margin-top:20px}.results h2{font-size:29px}.ranking{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #d3d6b6;font-size:14px}.ranking:last-child{border:0}details{margin:26px 0 35px;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:13px;font-weight:700;padding:20px 0;list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}.table-wrap{overflow:auto;padding-bottom:20px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:center;white-space:nowrap}th,td{padding:13px 10px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--paper)}footer{padding:0 0 30px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);letter-spacing:.4px}footer strong{color:var(--ink)}footer strong span{font-weight:400}dialog{background:var(--paper);color:var(--ink);border:0;border-radius:15px;padding:30px;max-width:calc(100% - 32px)}dialog::backdrop{background:#22261e88}dialog p{font-size:14px;line-height:1.6}.dialog-actions{display:flex;gap:10px;margin-top:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.shell{padding:0 20px}header{height:86px}.brand{font-size:24px;gap:9px}.brand img{height:43px;width:29px}.brand-sub{font-size:6px;letter-spacing:1.3px}.status{font-size:9px;padding:8px;max-width:135px}.hero{grid-template-columns:1fr 105px;gap:5px;padding:35px 0 29px}.hero h1{font-size:42px;letter-spacing:-2px}.hero-art{height:150px}.hero-art:before{width:113px;height:113px}.hero-art img{height:123px}.orbit{width:124px;height:50px}.orbit-two{width:105px;height:65px}.disc{font-size:26px;top:0}.art-label{font-size:6px;bottom:0;right:-5px}.eyebrow{font-size:8px;letter-spacing:1.4px}.intro{font-size:12px}.course{gap:10px;font-size:9px;margin-top:23px}.course>span{padding-left:10px}.course a{display:block;flex-basis:100%;margin-top:3px}h2{font-size:21px}#player-help{font-size:10px;max-width:80px;line-height:1.5}.holes{gap:4px}.hole-tab{font-size:13px;min-height:47px;border-radius:6px}.hole-panel{padding:19px 16px}.hole-note{font-size:10px}h3{font-size:26px}.hole-nav button{padding:0 12px;font-size:11px}.hole-nav .muted{font-size:10px}.finish{padding:23px;display:block}.finish h2{font-size:23px;max-width:250px}.yellow-button{width:100%;margin-top:22px}.section-heading .muted{font-size:10px}footer{font-size:8px;line-height:1.5}footer strong span{display:block}.results{padding:22px}.score-row{padding:16px 0}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}}
/* Ladronka travel edition — an original mid-century park poster. */
:root{--paper:#f3ecd9;--ink:#234e46;--yellow:#e7b953;--line:#c9c6aa;--muted:#606d5e;--white:#fbf6e7;--rust:#ad4c32}body{background-color:#e7dfc9;background-image:radial-gradient(#95876326 .65px,transparent .65px);background-size:5px 5px}.shell{max-width:1120px;padding:0 42px;background:var(--paper);box-shadow:0 0 90px #5e573b0b}header{height:100px;border-color:#234e4633}.brand{font-size:28px;letter-spacing:-1.1px}.brand-sub{letter-spacing:2px;font-size:8px}.brand img{height:50px}.status{border-color:#a6b4a2;font-size:10px;letter-spacing:.4px;background:#f8f1de}.status.ready:before{color:#ad4c32}.hero{display:block;position:relative;margin-top:32px;padding:0;overflow:hidden;border:1px solid #234e46;background:#94c6bc;isolation:isolate}.poster-top{position:absolute;z-index:2;top:19px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;font-weight:800;letter-spacing:1.7px;color:#234e46}.poster-heading{position:absolute;z-index:2;top:62px;left:43px}.poster-heading .eyebrow{font-size:10px;letter-spacing:3px;margin:0 0 5px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(60px,8vw,99px);font-weight:900;font-style:italic;letter-spacing:-6px;line-height:.98;margin:0;color:#183e36;text-shadow:1px 2px #d2ddba}.hero h1 span{display:block;position:static;letter-spacing:6px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:800;margin-top:15px;text-shadow:none}.hero h1 span:after{content:none}.intro{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-style:italic;line-height:1.3;color:#2c574b;margin-top:19px}.landscape{display:block;width:100%;height:auto;aspect-ratio:1200/680;object-fit:cover}.poster-seal{position:absolute;top:45px;right:29px;width:100px;height:100px;border:2px solid #244e43;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);background:#f2d079;color:#244e43;outline:1px solid #244e43;outline-offset:-7px;z-index:2}.poster-seal span{font-size:8px;letter-spacing:1.4px;font-weight:bold}.poster-seal strong{font-family:Georgia,serif;font-size:44px;line-height:1.05}.course{display:flex;gap:22px;justify-content:flex-end;align-items:center;background:#234e46;color:#f7eed4;margin:0;padding:20px 25px;font-size:10px;letter-spacing:1.7px}.course .course-label{margin-right:auto;border:0;padding:0;font-size:9px}.course>span{border-color:#b8b896}.course a{color:#f7eed4;font-weight:700;text-decoration:none;background:#b85a38;padding:10px 17px;border:1px solid #e6c796;letter-spacing:.5px}.ticket-strip{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px dashed #8f9a7c;font-family:'Courier New',monospace;font-size:9px;font-weight:700;letter-spacing:1px;gap:10px}.ticket-strip a{text-underline-offset:3px}.round{border-top:0;padding:34px 0 31px;scroll-margin-top:20px}.eyebrow{color:var(--rust);letter-spacing:1.8px;font-size:9px}.section-heading{margin-bottom:23px}h2{font-family:Georgia,'Times New Roman',serif;font-size:29px;letter-spacing:-1px;font-weight:normal}.text-button{color:var(--ink);font-size:11px;border-bottom:1px solid #a8ae93;border-radius:0;min-height:32px}.dark-button{background:var(--ink);color:var(--white);border:1px solid var(--ink)}button{border-radius:3px}.outline-button{border-color:#a6b19b;border-radius:3px}#initials{border-radius:3px;border-color:#aab69e;color:var(--ink);background:#fcf7e9;font-family:'Courier New',monospace;font-size:20px;height:49px}.crew{gap:10px}.chip{background:#e6e1c9;border:1px solid #c4c7a9;border-radius:3px;color:#305748}.chip button{color:#576e5a}.play{padding:12px 0 28px}.holes{gap:7px;margin-bottom:0;border:1px solid #a2b09a;border-bottom:0;background:#e6e3ca;padding:8px}.hole-tab{font-family:Georgia,serif;font-size:20px;min-height:52px;border:0;border-radius:2px;color:#2e594b}.hole-tab.active{background:var(--rust);border-color:var(--rust);color:#fff6de}.hole-tab.complete:after{background:#345e4c}.hole-panel{border-radius:0;border-color:#a2b09a;padding:28px;background:#fbf6e7;box-shadow:4px 5px 0 #dedbc3}.hole-heading{border-bottom:1px solid #b7c1a6}.hole-heading .eyebrow{color:#697962}h3{font-family:Georgia,serif;font-size:32px;font-weight:normal}.par-tag{border-radius:2px;background:#e6bb60;color:#384d38;font-family:Arial,sans-serif;font-size:9px;padding:7px 10px}.score-row{border-color:#d5d7bf}.avatar{border-radius:2px;background:#e8e4c9;border:1px solid #cbcdb0;color:#5c745c;font-family:Georgia,serif;font-size:16px;font-weight:normal}.player-name{color:#254f45}.stepper button{background:#e8e4cf;color:#2e594b;border-radius:2px;border:1px solid #c7cbb3;font-size:24px}.score-input{border-radius:2px;color:#234e46;background:#fffbef;border-color:#b5bea4;font-family:Georgia,serif}.finish{position:relative;border-radius:0;background:#234e46;border:1px solid #183e36;padding:28px 30px;box-shadow:4px 5px 0 #d9d6be}.finish:before{content:'';position:absolute;inset:6px;border:1px solid #8d9d7680;pointer-events:none}.finish h2{font-size:27px}.finish .eyebrow{color:#e8be6c}.finish p:last-child{color:#d0d4b6}.yellow-button{background:#e8bb62;color:#25483c;border-radius:2px;font-size:15px}.results{border-radius:0;background:#e7e6cd;border-color:#a9b596}.results h2{font-family:Georgia,serif;font-weight:normal}.ranking{border-color:#c4cbb0}.ranking strong{color:#264f44}summary{font-family:Georgia,serif;font-size:17px;font-weight:normal}details{margin-bottom:28px}th:first-child,td:first-child{background:var(--paper)}footer{padding-bottom:30px;letter-spacing:1px;font-size:8px;color:#5d705b}footer strong{color:#294e42}dialog{border-radius:3px;border:1px solid #899d7b;background:var(--paper)}dialog h2{font-size:29px}button:hover:not(:disabled){filter:brightness(.95)}
@media(min-width:1000px){.round{display:grid;grid-template-columns:1fr 1fr;column-gap:35px;align-items:center}.round .section-heading{margin:0;grid-row:1/3;display:block}.round .text-button{margin-top:12px}.round .crew{grid-column:2}.round .message{grid-column:2}.round #add-player{justify-content:flex-end}.round .crew{justify-content:flex-end}.round .message{text-align:right}.play{border-top:1px solid var(--line);padding-top:28px}}
@media(max-width:650px){.shell{padding:0 18px}header{height:83px}.brand{font-size:23px}.brand img{height:41px}.brand-sub{font-size:6px;letter-spacing:1.4px}.status{font-size:8px;padding:8px 7px;letter-spacing:0}.hero{margin-top:21px}.poster-top{top:13px;left:15px;right:15px;font-size:6px;letter-spacing:.7px}.poster-top span:last-child{display:none}.poster-heading{left:21px;top:43px}.poster-heading .eyebrow{font-size:8px;letter-spacing:2px}.hero h1{font-size:56px;letter-spacing:-3px}.hero h1 span{font-size:9px;letter-spacing:3px;margin-top:10px}.intro{font-size:13px;margin-top:14px}.landscape{height:350px;aspect-ratio:auto;object-fit:cover;object-position:55% center}.poster-seal{top:14px;right:13px;width:53px;height:53px;outline-offset:-4px;border-width:1px}.poster-seal span{font-size:4px;letter-spacing:.8px}.poster-seal strong{font-size:24px}.course{padding:13px 14px;gap:12px;font-size:9px;letter-spacing:1px;flex-wrap:nowrap;justify-content:space-between}.course .course-label{display:none}.course>span{padding-left:12px}.course a{flex-basis:auto;margin:0;padding:9px 12px;font-size:10px;white-space:nowrap}.ticket-strip{font-size:7px;letter-spacing:.3px;line-height:1.4;padding:14px 0}.ticket-strip span:nth-child(2){display:none}.round{padding:28px 0}.eyebrow{font-size:8px;letter-spacing:1.2px}h2{font-size:26px}.section-heading{margin-bottom:19px}.text-button{font-size:10px}.holes{padding:5px;gap:3px}.hole-tab{min-height:46px;font-size:17px}.hole-panel{padding:22px 16px}.par-tag{font-size:8px}h3{font-size:29px}.finish{padding:26px 23px}.finish h2{font-size:27px;max-width:none}.yellow-button{margin-top:23px}.avatar{width:35px;height:40px}.player-label{gap:10px}.score-row{padding:18px 0}footer{font-size:7px}.score-input{font-size:23px}}
@media(max-width:360px){.hero h1{font-size:49px}.poster-heading{left:16px}.landscape{height:335px}.stepper{gap:4px}.stepper button{width:40px}.score-input{width:47px}#player-help{display:none}}

@media(max-width:650px){.landscape{height:auto;aspect-ratio:1200/680;object-fit:contain;margin-top:168px}.poster-heading{top:46px}.hero{background:#94c6bc}}

/* Minimal edition: quiet surfaces and a compact course introduction. */
body{background:var(--paper);background-image:none}.shell{box-shadow:none}.minimal-hero{margin-top:0;padding:42px 0 31px;border:0;border-bottom:1px solid var(--line);background:none;overflow:visible}.minimal-hero .eyebrow{font-size:9px;letter-spacing:1.5px}.minimal-hero h1{font-family:Georgia,serif;font-size:64px;font-weight:normal;font-style:normal;letter-spacing:-3px;line-height:1.1;margin:14px 0;text-shadow:none}.minimal-hero .intro{font-family:Arial,sans-serif;font-style:normal;font-size:14px;line-height:1.6;color:var(--muted);margin:0}.minimal-hero .course{background:none;color:var(--ink);justify-content:flex-start;padding:0;margin-top:23px;gap:18px;letter-spacing:1px}.minimal-hero .course a{background:none;border:0;padding:0;margin-left:auto;color:var(--muted);font-weight:normal;text-decoration:underline;text-underline-offset:3px;letter-spacing:0}.hole-panel,.finish{box-shadow:none;border-radius:5px}.finish:before{display:none}.round{padding-top:28px}.eyebrow{letter-spacing:1.5px}.holes{border-radius:5px 5px 0 0}.hole-panel{border-radius:0 0 5px 5px}footer strong span{display:none}@media(max-width:650px){.minimal-hero{padding:30px 0 27px}.minimal-hero h1{font-size:49px;letter-spacing:-2px}.minimal-hero .eyebrow{font-size:7px}.minimal-hero .intro{font-size:12px}.minimal-hero .course{gap:15px}.minimal-hero .course a{font-size:10px}.finish h2{font-size:26px}}
