@font-face{font-family:Unbounded;src:url('/fonts/unbounded.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/fonts/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{color-scheme:light;--cream:#FCF5EE;--paper:#FFF7EF;--cherry:#481333;--red:#C5204B;--orange:#FFAF53;--soft:#765b64;--line:#dbc8bc;--sans:'DM Sans',Arial,sans-serif;--wide:Unbounded,'Arial Black',sans-serif;color:var(--cherry);background:var(--cream);font:16px/1.45 var(--sans)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 93% -30%,#fce7d7,transparent 55%),var(--cream)}
button,input{font:inherit;color:inherit}
a{color:inherit}
button,a,input{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.68}
:focus-visible{outline:3px solid #921c54;outline-offset:4px}
main:focus{outline:none}
[hidden]{display:none!important}
.skip,.sr{position:absolute;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{height:auto;width:auto;clip-path:none;z-index:20;background:white;padding:10px;left:8px;top:8px}
.top{border-bottom:1px solid #e2d2c6}
.top-inner{max-width:1240px;width:calc(100% - 9vw);min-height:86px;margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;padding:8px 0;align-items:center}
.brand img{display:block;width:118px;height:auto}
.my-links,.back,.text-button,.file-download,.file-actions button{font-weight:650;font-size:.91rem;display:inline-flex;align-items:center;justify-content:center;gap:.53rem;text-decoration:none}
.my-links{border:1px solid #d5bdb2;border-radius:100px;padding:10px 17px;box-shadow:inset 0 1px 0 #fff9}
.my-links:hover,.my-links[aria-current]{background:#f0dfd2}
svg.ico{width:22px;height:22px;flex:none;fill:currentColor;stroke:none}
.home{width:min(1050px,89vw);margin:clamp(36px,6.4vh,72px) auto 58px}
h1,h2,h3,p{margin:0}
.intro{margin-bottom:clamp(24px,3.7vh,40px)}
h1,.choice-name{font-family:var(--wide);letter-spacing:-.065em;line-height:1.03;font-weight:570}
.intro h1{font-size:clamp(2.6rem,5.4vw,5.25rem)}
h1 em{font-style:normal;color:var(--red)}
.intro p,.sub{color:var(--soft);font-size:1.03rem;margin-top:12px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.3vw,30px)}
.choice{padding:8px 8px 0;min-width:0;appearance:none;border:1px solid #ddcbbf;background:var(--paper);border-radius:28px;text-align:left;display:flex;flex-direction:column;box-shadow:inset 1px 1px 1px white,4px 8px 17px #69412813,-4px -4px 12px #fff9;transition:transform .22s ease,box-shadow .22s ease}
.stage{min-height:160px;width:100%;height:clamp(165px,19vw,236px);border-radius:21px;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 4px #46152435}
.receive .stage{background:linear-gradient(119deg,#f4a2a4 -10%,#d85c76 44%,#a62f53 105%)}
.send .stage{background:linear-gradient(119deg,#ffe2b9 -5%,#f4bf86 55%,#d68d57 108%)}
.recess{position:absolute;width:57%;height:83%;transform:rotate(-12deg);border-radius:44%;box-shadow:inset 2px 3px 9px #4d122a23, inset -2px -3px 8px #fff4,2px 2px 1px #fff2;opacity:.78}
.send .recess{transform:rotate(9deg)}
.stage img{position:absolute;inset:0;margin:auto;height:128%;max-width:100%;width:auto;object-fit:contain;top:-34%;bottom:-34%;filter:drop-shadow(0 13px 9px #46112636);transition:transform .28s ease}
.choice-content{display:flex;flex-direction:column;align-items:stretch;flex:1;width:100%;padding:clamp(17px,2vw,25px) clamp(14px,1.8vw,24px) 18px}
.phrase{font-size:1rem;font-weight:550;color:var(--soft)}
.choice-name{display:block;font-size:clamp(2.85rem,4.8vw,4.45rem);margin:5px 0 15px}
.choice-name>span{color:var(--red)}
.choice-action{display:flex;align-items:center;justify-content:space-between;font-size:1rem;font-weight:720}
@media(hover:hover){.choice:hover{transform:translateY(-3px);box-shadow:inset 1px 1px 1px white,5px 12px 22px #6941281c}.choice:hover .stage img{transform:translateY(-3px) rotate(-2deg)}}
.choice:active{transform:translateY(1px)}
.work{width:min(720px,89vw);margin:clamp(24px,5.4vh,52px) auto 64px}
.back,.text-button,.file-actions button{border:0;background:transparent;padding:8px 0;cursor:pointer}
.back{font-weight:600;color:var(--soft);min-height:40px}
.back:hover,.text-button:hover,.file-download:hover,.file-actions button:hover{text-decoration:underline}
.work-head{position:relative;min-height:94px;padding:17px 0 22px}
.work h1{font-size:clamp(2rem,4.4vw,3.75rem)}
.work h1 .dot{color:var(--red)}
.sub{max-width:550px}
.panel{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:clamp(19px,3vw,32px);box-shadow:inset 1px 1px 1px white,3px 6px 17px #6941280e}
.work h2,.field-label{font:650 1.04rem/1.45 var(--sans);letter-spacing:-.012em}
.share-row{display:flex;align-items:stretch;gap:9px;margin-top:10px}
.share-row input{background:#f8eade;border:1px solid #c6aa9c;box-shadow:inset 2px 3px 5px #76422a10;border-radius:12px;padding:12px 14px;font-size:.92rem;min-width:0;flex:1}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid #b56d33;border-radius:12px;background:var(--orange);color:var(--cherry);font-weight:680;padding:12px 18px;min-height:47px;box-shadow:inset 0 1px 1px #ffffff35,1px 3px 5px #48133322}
.primary:hover{background:#ffbc73}.primary:active{box-shadow:inset 1px 2px 5px #90603a55}
.picker{width:100%;text-align:center;cursor:pointer;display:grid;place-items:center;border:1.5px dashed #aa817a;background:#f9eadd;border-radius:16px;padding:25px 16px;box-shadow:inset 2px 3px 8px #814a2e0e}
.picker.drag{background:#ffe0ba;border-color:var(--cherry)}
.picker-icon{border-radius:15px;background:#ffd19a;box-shadow:inset 1px 1px 2px #fff7,2px 3px 6px #71412618;display:grid;place-items:center;width:43px;height:43px;margin:0 auto 12px}
.picker-label{font-weight:680}.hint,.meta,.empty{color:var(--soft);font-size:.9rem}
.picker .hint{display:block;margin-top:3px}
.limits{margin-top:11px;text-align:center}
.section{margin-top:26px}.section h2{margin-bottom:11px}
.file-list,.rooms,.queue{list-style:none;padding:0;margin:0}
.file-row,.room-row{border-top:1px solid var(--line);display:flex;align-items:center;gap:13px;min-height:68px;padding:10px 0}
.file-mark{width:36px;height:42px;display:grid;place-items:center;flex-shrink:0;color:var(--cherry);border-radius:9px;background:#f4e0d2}
.file-info{flex:1;min-width:0;overflow-wrap:anywhere}
.file-name{font-weight:650;line-height:1.3}
.file-download{min-height:44px}.file-download svg{width:17px}
.empty{padding:15px 0;border-top:1px solid var(--line)}
.queue{margin-top:12px}.queue:empty{display:none}
progress{accent-color:var(--red);width:100%;height:7px;display:block;margin-top:6px}
.notice{background:#ffe4d0;border:1px solid #cc8e76;border-radius:12px;padding:11px 13px;margin-top:15px}
.share-status{font-size:.9rem;color:var(--soft);margin-top:8px}.share-status:empty{display:none}
.room-row{text-decoration:none}.room-row:hover .file-name{text-decoration:underline}
.room-name{font-family:var(--wide);font-size:1rem;font-weight:600}
.file-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.file-actions button{min-height:40px}
.more{margin-top:14px}.more summary{cursor:pointer;min-height:40px;display:list-item;padding:8px 1px;font-weight:620}.more[open] .picker{margin-top:4px}
@media(max-width:640px){
 .top-inner{width:calc(100% - 36px);min-height:65px}.brand img{width:91px}.my-links{padding:7px 12px;font-size:.84rem;min-height:40px}
 .home,.work{width:calc(100% - 36px);margin:29px auto 32px}.intro{margin-bottom:20px}.intro h1{font-size:clamp(1.94rem,7.6vw,3rem)}.intro p,.sub{font-size:.94rem;margin-top:8px}
 .choices{grid-template-columns:1fr;gap:15px}.choice{border-radius:20px;padding:6px;display:grid;grid-template-columns:36% 1fr;min-height:142px}.stage{border-radius:15px;min-height:100%;height:100%}.stage img{inset:0 -30%;width:156%;max-width:none;height:auto}.recess{width:89%;height:65%}
 .choice-content{padding:8px 9px 7px 15px;justify-content:center}.phrase{font-size:.82rem}.choice-name{font-size:clamp(2.2rem,9vw,3rem);margin:3px 0 8px}.choice-action{font-size:.85rem;padding-top:7px;gap:3px}
 .work-head{padding:12px 0 19px;min-height:0}.panel{padding:17px}.share-row{flex-wrap:wrap}.share-row input{flex-basis:100%}.share-row .primary{width:100%}.file-row{gap:8px}.file-download{font-size:.85rem}.picker{padding:21px 12px}.section{margin-top:20px}
}
@media(max-width:355px){.choice{grid-template-columns:31% 1fr}.choice-content{padding-left:10px}.home,.work{width:calc(100% - 26px)}.file-download .ico{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.guest-sender{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.guest-sender label{font-weight:650}.guest-sender small{font-size:.85rem;color:var(--soft);font-weight:500}
.guest-sender input{width:min(100%,240px);min-height:44px;border:1px solid #b99a92;border-radius:10px;padding:9px 12px;background:var(--paper)}
.room-validity{margin-top:7px}
