@font-face{font-family:DM Sans;src:url(sans.woff2);font-weight:400 700;font-display:swap}
@font-face{font-family:DM Serif Text;src:url(serif.woff2);font-weight:400;font-display:swap}
:root{--ink:#272820;--wine:#71372d;--paper:#f6f1e2;--line:#c8bfaa;--serif:"DM Serif Text",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}
*{box-sizing:border-box}body,h1,h2,p{margin:0}body{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #215f78;outline-offset:4px}
.shell{width:min(1120px,90%);margin-inline:auto}header{border-block:5px solid var(--wine);border-bottom:1px solid var(--line);background:#faf7eb}.nav,footer .shell,.brand,.usernav,.meter,.counter,.requests li,.requests form{display:flex;align-items:center;justify-content:space-between;gap:15px}.nav{min-height:75px}.nav>a:last-child:not(.brand){font-size:.9rem;font-weight:650}
.brand{text-decoration:none;justify-content:start;gap:12px;font:27px var(--serif);letter-spacing:-.045em}.brand i,em{color:var(--wine)}.stamp{display:grid;place-items:center;background:var(--wine);color:#f7eacc;font:29px var(--serif);height:40px;width:37px;outline:1px solid var(--wine);outline-offset:2px;border:1px solid #ead2ab;transform:rotate(-4deg)}
main{flex:1}.entrance{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);align-items:center;gap:clamp(25px,5vw,78px);padding:clamp(32px,6vw,78px) 0}
.visual{position:relative;min-height:480px;align-self:stretch;background:#332a20;isolation:isolate;border:1px solid #4f4032}.visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;z-index:-2}.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#19110bea 1%,#19110bb0 28%,transparent 66%);z-index:-1}.shop-sign{position:absolute;bottom:7%;left:7%;color:#fff4d9}.shop-sign p,.kicker{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.shop-sign h1,.inside h1{font:400 clamp(50px,6.3vw,85px)/.98 var(--serif);letter-spacing:-.05em;margin-top:12px}.shop-sign em{color:#f3c294}
.ticket{padding:clamp(22px,3.1vw,42px);background:#fffbef;border:1px solid var(--line);border-top:4px double var(--wine);box-shadow:4px 5px 0 #ddd6c3}.ticket h2,.counter h2,.stock h2{font:400 clamp(28px,3vw,40px)/1.12 var(--serif);letter-spacing:-.045em;margin:9px 0}.ticket p:not(.kicker),.intro,.counter p:not(.kicker){color:#57554b}.kicker{color:var(--wine)}
form{margin:0}.ticket form{display:grid;gap:14px;margin-top:23px}.ticket label{display:grid;gap:5px;font-size:.86rem;font-weight:650}input{border:1px solid #9a9280;background:#fffef9;color:var(--ink);border-radius:3px;min-width:0;width:100%;padding:10px 11px;font-size:1rem}small{font-weight:400;color:#5d584c;font-size:.78rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--wine);background:var(--wine);color:#fff8df;padding:12px 16px;border-radius:3px;font-weight:650;text-decoration:none;font-size:.93rem}.button:hover{background:#542c25}.light{background:var(--paper);color:var(--wine)}.light:hover{background:#e9dec3}.under{font-size:.85rem;border-top:1px dashed var(--line);margin-top:21px;padding-top:16px}.under a,.back{font-weight:650}.textbtn{background:transparent;padding:3px;border:0;text-decoration:underline;font-size:.86rem;color:var(--ink)}.usernav{font-size:.85rem}
footer{border-top:1px solid var(--line)}footer .shell{padding:16px 0;font-size:.77rem;color:#5d584c}.inside{padding:clamp(32px,5vw,75px) 0}.inside .intro{margin:14px 0 25px}.inside h1{font-size:clamp(48px,5vw,75px)}.back{display:inline-block;font-size:.85rem;margin-bottom:22px}
.stock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0}.stock article{border:1px solid var(--line);padding:16px;background:#fffaeb}.stock h2{font-size:23px}.object{height:94px;display:grid;place-items:center;background:#e9dec8;overflow:hidden;margin-bottom:10px}.object i{position:relative;display:block}.key i{width:22px;height:22px;border:5px solid #90703d;border-radius:50%;transform:rotate(-24deg) translateX(-16px)}.key i:after{content:"";position:absolute;left:13px;top:5px;width:38px;height:6px;background:#90703d;box-shadow:9px 6px 0 -1px #90703d}.rings i{width:32px;height:32px;border:8px solid #6b7068;border-radius:50%;box-shadow:20px 9px #918e7c,-14px 8px #b1a68b}.string i{width:62px;height:31px;border:4px double #85473e;border-radius:50%;transform:rotate(-17deg);box-shadow:0 4px #85473e,0 7px #b06e56}
.counter{border-block:1px solid var(--line);padding:22px 0}.counter h2{font-size:29px}.notice{margin:12px 0 0;border-left:3px solid var(--wine);padding:10px 14px;background:#e9dfc8}
.roomgrid{display:grid;grid-template-columns:1.25fr .85fr;gap:25px;align-items:start}.machine{background:#343b32;color:#fff4d6;border:6px double #a69b78;padding:clamp(18px,3.5vw,42px)}.meter{border-bottom:1px solid #7b7d6a;padding-bottom:12px}.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}.reels div{background:#f6ebcc;padding:12px 4px;text-align:center;display:grid;border:2px solid #a69873;border-radius:5px}.reels span{font:clamp(28px,4vw,48px) Georgia;color:var(--wine)}.reels small{color:#383a2e;font-weight:700}.outcome{min-height:1.55em;margin-bottom:12px}.machine .button{background:#f2d390;color:#332a1e;border-color:#f2d390}.machine details{margin-top:15px;font-size:.85rem}.machine summary{cursor:pointer}.machine details p{margin-top:6px}.invite label,.invite .back{margin-top:15px}.invite .back{margin-bottom:0}
.requests{list-style:none;padding:0}.requests li{padding:16px 0;border-bottom:1px solid var(--line)}.requests small{display:block}
@media(max-width:730px){.shell{width:calc(100% - 32px)}.nav{min-height:62px}.brand{font-size:20px}.stamp{width:26px;height:30px;font-size:22px}.entrance,.roomgrid{grid-template-columns:1fr;gap:18px}.entrance{padding:20px 0}.visual{min-height:215px}.shop-sign h1{font-size:44px}.shop-sign p{font-size:.62rem}.stock{gap:6px}.stock article{padding:7px}.stock h2{font-size:18px}.object{height:62px}.counter{align-items:start;flex-direction:column}.usernav{gap:4px;flex-direction:column;align-items:end}footer .shell{gap:8px}.inside{padding:28px 0}.requests form{gap:6px}}
@media(max-width:380px){.stock{grid-template-columns:1fr}.stock article{display:grid;grid-template-columns:64px 1fr;column-gap:8px}.object{grid-row:1/3;margin:0}.stock h2{margin:0}}

