/* Silvia: ivory, wine and lilac; quiet surfaces and clear touch targets. */
:root{--control-wine:#704056;--control-deep:#593148;--control-line:#c9adbf;--control-focus:#805570}
.button,.action,.action.solid,.cinema-controls button{
 display:inline-flex;align-items:center;justify-content:center;gap:16px;
 min-height:52px;max-width:100%;padding:14px 23px;
 border:1px solid #8a5b73;border-radius:14px;
 background:linear-gradient(135deg,#7a4860,#63374f);color:#fffaf7;
 font-family:'Source Sans 3',sans-serif;font-size:16px;font-weight:500;line-height:1.4;
 text-align:center;text-decoration:none;
 box-shadow:inset 0 1px 0 #ffffff24,0 5px 14px #4d263719;
 transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;
 -webkit-tap-highlight-color:transparent;
}
.button.secondary,.action:not(.solid),.cinema-controls button{
 background:#fffbf7;color:var(--control-wine);border-color:var(--control-line);
 box-shadow:inset 0 1px 0 #ffffffc9,0 3px 10px #5c35430a;
}
.action .action-arrow{
 display:inline-grid;place-items:center;flex:none;width:28px;height:28px;
 border-radius:50%;background:#efe1e9;color:#704056;font-size:19px;line-height:1;
 transition:transform .2s,background-color .2s;
}
.action.solid .action-arrow{background:#ffffff1f;color:#fffaf7}
.upload .action.solid{padding:12px 18px 12px 24px}
.join .action{padding:12px 16px 12px 22px}
.cinema-controls button{min-height:44px;padding:10px 18px;border-radius:12px;font-size:13px}
.cinema-discover{
 display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;
 margin-top:30px;padding:12px 15px 12px 22px;border-radius:26px;
 border:1px solid #e3c3d159;background:#56364bd9;color:#fff5fa;
 box-shadow:inset 0 1px 0 #ffffff12,0 6px 22px #160f1a29;
 font-weight:500;letter-spacing:.1em;
 transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.cinema-discover>span{
 display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;
 background:#e8d3e51f;color:#f2dcec;font-size:17px;letter-spacing:0;
 transition:transform .2s;
}
.cinema-shortcuts{gap:10px;flex-wrap:wrap;justify-content:center}
.cinema-shortcuts>span{display:none}
.cinema-shortcuts a{
 display:inline-flex;align-items:center;justify-content:center;min-height:44px;
 padding:10px 16px;border:1px solid #d7b7ca47;border-radius:12px;
 background:#2b1e2d6b;color:#f7e9f2;line-height:1.4;
 transition:background-color .2s,border-color .2s,transform .2s;
}
.cinema-steps{gap:4px}
.cinema-steps button{
 min-width:36px;min-height:44px;border-radius:10px;opacity:.8;
 transition:background-color .2s,color .2s;
}
.cinema-steps button[aria-current=true]{background:#f2d6e820;color:#fff8fc}
.cinema-steps button[aria-current=true]:after{bottom:5px;left:11px;right:11px;background:#ebc5db}
.memory-music-toggle{
 width:44px;height:44px;min-width:44px;padding:10px;border-color:#d0aec28c;
 background:#5d3b52;box-shadow:inset 0 1px 0 #ffffff24,0 3px 10px #100b142e;
 transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.memory-music[data-playing=true] .memory-music-toggle{background:#e6d0e1;color:#56344c;border-color:#f0dcea}
.memory-music-toggle svg{width:20px;height:20px}
.memory-music-close{border:1px solid #dcc4d3;background:#f0e4ec;transition:background-color .2s,transform .2s}
.file-select input{border:1px solid #d2bac8;border-radius:14px;background:#fffaf7;padding:14px;color:#5e4657}
.file-select input::file-selector-button{
 min-height:44px;padding:10px 16px;margin-right:12px;border:1px solid #ccb0c3;border-radius:10px;
 background:#eee2ed;color:#56344c;font:500 15px 'Source Sans 3',sans-serif;
}
.card-actions button,.card-actions a{
 min-height:40px;padding:8px 12px;border:1px solid #d9c4d0;border-radius:10px;
 background:#fffbf7;text-decoration:none;font-size:13px;
}
.card-actions .danger{border-color:#dbb2bd;color:#96263f;background:#fff7f8}
.button:disabled{opacity:.6;box-shadow:none;transform:none;cursor:wait}
.button:focus-visible,.action:focus-visible,.cinema-controls button:focus-visible,.file-select input:focus-visible,.card-actions :is(a,button):focus-visible{
 outline:3px solid var(--control-focus);outline-offset:4px;
}
.cinema-discover:focus-visible,.cinema-shortcuts a:focus-visible,.cinema-steps button:focus-visible,.memory-music-toggle:focus-visible{outline:3px solid #efc5d6;outline-offset:4px}
@media(hover:hover){
 .button:not(:disabled):hover,.action.solid:hover{background:linear-gradient(135deg,#704056,#532d43);border-color:#704056;box-shadow:inset 0 1px 0 #ffffff29,0 7px 18px #4d263724;transform:translateY(-2px)}
 .button.secondary:not(:disabled):hover,.action:not(.solid):hover,.cinema-controls button:hover{background:#f1e5ee;color:#593148;border-color:#aa7c98;box-shadow:0 5px 14px #5c354312;transform:translateY(-2px)}
 .action:hover .action-arrow{transform:translate(1px,-1px)}
 .cinema-discover:hover{background:#70465ed9;border-color:#e3c3d18c;box-shadow:inset 0 1px 0 #ffffff24,0 8px 24px #160f1a30;transform:translateY(-2px)}
 .cinema-discover:hover>span{transform:translateY(2px)}
 .cinema-shortcuts a:hover{background:#71475e80;border-color:#d7b7ca88;transform:translateY(-1px)}
 .cinema-steps button:hover{background:#f2d6e81a;color:#fff8fc}
 .memory-music-toggle:hover{background:#78526c;border-color:#ebc9de;transform:translateY(-1px)}
 .memory-music[data-playing=true] .memory-music-toggle:hover{background:#f1dfec;color:#56344c}
 .memory-music-close:hover{background:#e7d4e1}
 .card-actions :is(a,button):hover{background:#f2e5ed;border-color:#b28ba3}
}
.button:not(:disabled):active,.action:active,.cinema-discover:active,.cinema-shortcuts a:active,.cinema-controls button:active,.memory-music-toggle:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #32172618}
@media(max-width:700px){
 .button,.action,.action.solid{font-size:16px;min-height:50px;gap:12px}
 .cinema-shortcuts{gap:8px}.cinema-shortcuts a{font-size:12px;padding:10px 12px}
 .upload .action.solid{padding-inline:18px}.join .action{padding-inline:18px}
 .cinema-steps{gap:0}.cinema-steps button{min-width:32px}
}
@media(prefers-reduced-motion:reduce){
 .button,.action,.action .action-arrow,.cinema-controls button,.cinema-discover,.cinema-discover>span,.cinema-shortcuts a,.cinema-steps button,.memory-music-toggle,.memory-music-close{transition:none}
 .button:not(:disabled):hover,.action:hover,.action:hover .action-arrow,.cinema-controls button:hover,.cinema-discover:hover,.cinema-discover:hover>span,.cinema-shortcuts a:hover,.memory-music-toggle:hover{transform:none}
}
